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

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


目标数组:

[[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]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。