zoukankan      html  css  js  c++  java
  • 关于数组的map、reduce、filter

    map:map()方法定义在Array中,传入自己的参数,就得到一个新的Array作为结果

    var aqiData = [
    ["北京", 90],
    ["上海", 50],
    ["福州", 10],
    ["广州", 50],
    ["成都", 90],
    ["西安", 100]
    ];

    function box(arr){
    return arr[1]+'分';
    }
    alert(aqiData.map(box));

     数组

    中的每一项都进行一次box(),得到的结果返回到原数组中。

    reduce

    同时应用一个函数针对数组的两个值(从左到右),以减至一个值。

    array.reduce(function,[ initialValue]);

     function : 函数执行在数组中每个值
     initialValue : 对象作为第一个参数回调的第一次调用使用


    var aqiData = [1,2,3,4,5];

    var total= aqiData.reduce(function(a,b){
    return a+b;
    });
    alert(typeof total);//number
    alert(total);//15

    var aqiData = [1,2,3,4,5];

    var total= aqiData.reduce(function(a,b){
    return a+b;
    },2);
    alert(typeof total);//number
    alert(total);//17

    filter:它用于把Array的某些元素按照一定的规则过滤掉,然后返回剩下的元素

    array1.filter(function[, thisArg])
    array1 数组对象 function调用的函数
    thisarg可选,可在 callbackfn 函数中为其引用 this 关键字的对象。如果省略 thisArg,则 undefined 将用作 this 值。
    函数语法
    function callbackfn(value, index, array1)
    value数组元素的值 index数组元素的索引 array1包含该元素的数组对象
    eg:
    var arr = [5, "element", 10, "the", true];
    
    var result = arr.filter(
        function (value) {
            return (typeof value === 'string');
        }
    );
    
    document.write(result);
    //  element, the

    var aqiData = [
    ["北京", 90],
    ["上海", 50],
    ["福州", 10],
    ["广州", 50],
    ["成都", 90],
    ["西安", 100]
    ];
    var box = aqiData.filter(function(arr){
    return arr[1]>60;
    });
    alert(box);//["北京", 90] ["成都", 90] ["西安", 100]



     

  • 相关阅读:
    SUM游戏
    指针入门(四)
    MSP430 G2553 寄存器列表与引脚功能
    MSP430G2553头文件解析
    修复Kaos的中文显示
    VIM使用技巧3
    VIM使用技巧2
    Java学习之路(3)
    指针入门(三)
    共享VIM配置文件
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/5326553.html
Copyright © 2011-2022 走看看