zoukankan      html  css  js  c++  java
  • js 找数组中的最值

    背景: 2个数组以下 , 比如  [[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]

    找最值的时候,我一开始想用两个 for 循环比较每一个数组中的每一个数组的大小,然后保留最大值(最小值),最后再把它们组成一个新数组。

    // 2
    function largestOfFour(arr) {
        var maxArr,
            temp=[], // .push()是操作数组
            z;
        for (var i = 0; i < arr.length; i++) {
            z=arr[i][0]; // 重点... 用来比较、保存
            for (var j = 0; j < arr[i].length-1; j++) { // j+1了,防止超出,得-1
                if (arr[i][j+1] > z ){
                    z = arr[i][j+1];
                }
            }
            temp.push(z);
        }
        console.log(temp);
    }
    
    largestOfFour([[1114, 5, 321, 3], [13, 127, 18, 26], [322, 35, 37, 39], [13000, 1001, 857, 1]]);

    缺少基础,写出上面的代码颇有曲折,参考了很久排序算法(主要是选择排序)才慢慢的写出来....

    ------

    中间其实是做不出来了,于是我就百度, 查到了js 里是可以自己算最大值最小值的.....

    就是 Math.max()  Math.min() 

    数组要放在其中使用的话,要用 apply() 才行

    他们是这样举例的...

    先是举例用了用 for 循环

    var arr=[5,7,9,1]
    // alert(Math.max(arr))     这样是不行的。一定要这样写
    function getMax(arr){
        var arrLen=arr.length;
        for(var i=0,ret=arr[0];i<arrLen;i++){
            ret=Math.max(ret,arr[i]);       
        }
        return ret;
    }

    然后是 apply()

    
    
    var arr=[5,7,9,1];
    function getMax2(arr){
        return Math.max.apply(null,arr);
    }

    ...

    简洁了很多..很多

    然后用到我的题目中呢就是这样的

    function largestOfFour(arr){
        var newArr = [],
            temp;
        for (var i = 0; i < arr.length; i++) {
            temp = Math.min.apply(null,arr[i]);
            newArr.push(temp);
        }
        return newArr;
    }
    largestOfFour([[1,2,3],[5,6],[9,77]]);

    还阔以, 也简洁了许多..

    请多指教

  • 相关阅读:
    Using X++ code direct execute to sql statement
    SysMultiTableLookup class
    Using X++ Modify Table and class name From AOT Project
    identify multiple selected records
    简单实用SQL脚本(转)
    FTK应用程序编程接口(API)手册1
    《那些年啊,那些事——一个程序员的奋斗史》——28
    ftk的python binding
    《那些年啊,那些事——一个程序员的奋斗史》——27
    好久没来,CSDN都改版了
  • 原文地址:https://www.cnblogs.com/lcysgsg/p/6443116.html
Copyright © 2011-2022 走看看