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]



     

  • 相关阅读:
    了解 DICOM 基本协议与其相关
    C# PropertyInfo 反射实体部分字段
    ref(引用参数) 和 out(输出参数) 区别
    Linq Where Expression<Func<T,bool>> 查询条件
    随笔规范
    C# 集合分析
    C# 几种常用的数据类型
    关于 C# 方法参数的理解
    打算开始写博客了
    有趣的算法、逻辑面试题
  • 原文地址:https://www.cnblogs.com/zhouqi666/p/5326553.html
Copyright © 2011-2022 走看看