zoukankan      html  css  js  c++  java
  • JavaScript Array 技巧

    filter():返回该函数会返回true的项组成的数组

    1 var num = [1,2,3,2,1];
    2 var result = num.filter(function(item,index,array){
    3     return (item > 2);
    4 })
    5 console.log(result);//[3]

    map():返回每次调用结果组成的数组

    1 var num = [1,2,3,2,1];
    2 var result = num.map(function(item,index,array){
    3     return (item > 2);
    4 })
    5 console.log(result);// [false,false,true,false,false]

    reduce():迭代从数组的第一项到最后一项

    
    
     1 //求和
     2 var val = [1, 2, 3]
     3 var sum = val.reduce(function(pre, cur, index, array) {
     4     return pre + cur;
     5 })
     6 console.log(sum); //6
     7 
     8 
     9 //数组扁平化
    10 var arr = [
    11     [0, 1],
    12     [2, 3],
    13     [4, 5]
    14 ].reduce(function(pre, cur) {
    15     return a.concat(b);
    16 });
    17 // arr 为 [0, 1, 2, 3, 4, 5]
    
    
     

     sort:对数组的元素进行排序。

    1 var mymarry = [6, 7, 9, 1, -1];
    2 var sortAsc = function(x, y) {
    3     return x - y;
    4 };
    5 var sortDesc = function(x, y) {
    6     return y - x;
    7 };
    8 mymarry.sort(sortAsc); //正序
    9 mymarry.sort(sortDesc); //倒序

    .indexOf():从数组开头开始向后查,返回查找的项在数组中的位置,没有找到返回-1。

    1  //数组去重 start
    2 function unique(arr) {
    3     var result = [];
    4     for (var i = 0; i < arr.length; i++) {
    5     if (result.indexOf(arr[i]) == -1) result.push(arr[i]);
    6     }
    7     return result;
    8 }

     数组中对应的每一项相加

     1 var list = [{
     2     number: [1, 2, 3, 4]
     3 }, {
     4     number: [1, 2, 3, 4, 5]
     5 }, {
     6     number: [1, 2, 3, 4]
     7 }, {
     8     number: [1, 2, 3, 4, 5]
     9 }];
    10 var arr = [];
    11 for (var i in list) {
    12     if (arr.length) {
    13         for (var x in list[i].number) {
    14             if (!arr[x]) {
    15                 arr[x] = 0;
    16             }
    17             arr[x] = arr[x] + list[i].number[x];
    18         }
    19     } else {
    20         arr = list[i].number;
    21     }
    22 }
    23 console.log(arr);

    参考:https://segmentfault.com/a/1190000003977377

    给出一篇对Array操作很全的文章:http://www.cnblogs.com/onepixel/p/5123115.html

  • 相关阅读:
    设置系统时间
    设置访问URL不要项目名二级目录
    tomcat部署项目报错NoSuchMethodException#addServlet,addFilter
    Java多线程-线程池ThreadPoolExecutor构造方法和规则
    IDEA Debug 快捷键
    收藏网站
    eclipse添加hadoop插件
    Frida Mac环境搭建
    Android UiAutomator 1&2
    Android下monkey命令参数
  • 原文地址:https://www.cnblogs.com/gaozejie/p/5075497.html
Copyright © 2011-2022 走看看