js实现二维数组中找出最大的一个,并返回数组

2018-10-28  本文已影响18人  无迹落花

现在给你一个数组,这个数组中包含了数字的子数组。 请编写程序,从数组的每一个子数组中返回其最大的那个数。


目标数组:

[[1,34],[456,2,3,44,234],[4567,1,4,5,6],[34,78,23,1]]  返回 [34,456,4567,78]

第一段代码:

 function sortNumber(a,b){
    return a-b
 }


// 下面方法实现了 [12,3,5,18,12,67,13] =>变成 67 ,数组中最大的一个数字
function sortArray(arr){
    return parseInt(arr.sort(sortNumber).slice(arr.length-1,arr.length).join())
}


var target=[[12,3,24,1,6],[2,3,4,56,23,7],[21,2,34,8]]

// 函数作为参数,map循环返回一个数组
var result=target.map(sortArray)

console.log(result)    //  [24, 56, 34]


改进后的代码:

function sortArray(arr){
    return parseInt(arr.sort((a,b)=>a-b).slice(arr.length-1,arr.length).join())
}


var target=[[12,3,24,1,6],[2,3,4,56,23,7],[21,2,34,8]]


var result=target.map(sortArray)

console.log(result)    //  [24, 56, 34]


一行代码:

var target=[[12,3,24,1,6],[2,3,4,56,23,7],[21,2,34,8]]

var res=target.map(arr=>parseInt(arr.sort((a,b)=>a-b).slice(arr.length-1,arr.length).join()))

console.log(res)    //  [24, 56, 34]

函数:

function outPut(target){
    return target.map(arr=>parseInt(arr.sort((a,b)=>a-b).slice(arr.length-1,arr.length).join()))
}

var target=[[12,3,24,1,6],[2,3,4,56,23,7],[21,2,34,8]]

console.log(outPut(target))  //  [24, 56, 34]
上一篇下一篇

猜你喜欢

热点阅读