zoukankan      html  css  js  c++  java
  • 总结一下常用的JS数组方法

     1.map :遍历数组的每一项并对其进行操作。  有返回值  且  不改变原数组。

    var arr = [1, 2, 3, 4, 5, 6];
          var res = arr.map(item => {
            return item * 2;
          });
          console.log(arr); //[1, 2, 3, 4, 5, 6]
          console.log(res); //[2, 4, 6, 8, 10, 12]

    2. forEach :遍历数组每一项并可对其操作,但是结果无用功。  因为forEach没有返回值 且 不改变原数组 可以针对数组的长度对你想要改变的变量进行修改。

    var arr1 = [3, 4, 5, 6, 7];
          var nums = 0;
          arr1.forEach(item => {
            console.log(item);
            nums++;
          });
          console.log(arr1, nums);//[3,4,5,6,7],5

    3. some: 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。每一项都会遍历。

    const result = [];
          var arr2 = [
            { name: "lx", age: 35 },
            { name: "lxx", age: 20 },
            { name: "l1x", age: 5 },
            { name: "1lx", age: 15 },
            { name: "zlx", age: 25 },
            { name: "xlx", age: 22 }
          ];
          arr2.some(item => {
            //   console.log(item.age)
            console.log(item.age % 5 == 0); // 5true  false
            if (item.age % 5 == 0) {
              result.push({ age: item.age });
            } else {
              result.push({ unage: item.age });
            }
          });
          console.log(result);

    4.every : 该方法  测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。当有一项与条件成立时 后面的项停止遍历。同样返回值是一个Boolean类型。

      var arr3 = [3, 2, 3, 4, 5, 6, 7];
          function test(item) {
            return item > 1;
          }
          console.log(arr3.every(test)); //true

    5.filter: 顾名思义 过滤  该数组方法就是能够做到拿到你想要得到的那条数据的一个数组  注意是数组! 不会改变原数组

    var arr4 = [
            { name: "lx", age: 28 },
            { name: "l1x", age: 5 },
            { name: "1lx", age: 15 },
            { name: "zlx", age: 25 },
            { name: "xlx", age: 22 }
          ];
          let res4 = arr4.filter(item => {
            return item.age == 25;
          });
          console.log(res4); // [{…}]0: {name: "zlx", age: 25} length: 1__proto__: Array(0)

    6. concat: 合并 该方法是将两个数组或多个数组合并成一个数组 不会改变原数组 可以采用扩展运算符... 结果是一样的

    var arr5 = [13, 5, 6, 7];
          var arr6 = [23, 5, 6, 7];
          let res6 = arr6.concat(arr5);
          let res7 = [...arr5, ...arr6];
          //求数组并集
          res7 = [...new Set([...arr5, ...arr6])];
          console.log(res7); // [13, 5, 6, 7, 23]
          // 求数组交集
          var bs = new Set(arr5);
          var sa = new Set(arr6); //{23,5,6,7}
          let res8 = arr5.filter(item => sa.has(item));
          console.log(res8);

    先总结这些,后续补充 。

  • 相关阅读:
    【体系结构】Oracle 11g体系结构总览
    【RMAN】RMAN初探
    【RAC】Oracle 11g 启动、停止实例和RAC数据库
    【RAC】Oracle 11g RAC安装及配置(三)
    【RAC】Oracle 11g RAC安装及配置(二)
    【RAC】Oracle 11g RAC安装及配置(一)
    【Linux】mount、umount命令
    领域模型(DomainModel)与视图模型(ViewModel)
    ASP.NET MVC与ASP.NET WebForm
    Visual Studio 2017 插件扩展
  • 原文地址:https://www.cnblogs.com/ZXH-null/p/12114455.html
Copyright © 2011-2022 走看看