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]