美文网首页
js实现二维数组中找出最大的一个,并返回数组

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

作者: 无迹落花 | 来源:发表于2018-10-28 19:34 被阅读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]
    

    相关文章

      网友评论

          本文标题:js实现二维数组中找出最大的一个,并返回数组

          本文链接:https://www.haomeiwen.com/subject/nmjmtqtx.html