js进阶~ 数组常用经典方法 干货满满 直接cv到代码编辑器里看

      // push pop  shift unshift 数组的首尾增删
      // reverse  翻转数组
      // join 将数组连接成字符串
      // sort 排序
      // concat 拼接  slice 提取
      // splice 可以实现任意位置的增删改
      // indexOf lastIndexOf 判断数组是否有某个值 有返回下标 没有返回-1

      // ES5 新增的数组方法

      let arr = [1, 2, 3, 4, 5];
      // 1、forEach => 遍历
      //   返回值 :无

      arr.forEach(function (value, index) {
        //   value:遍历过程中的每一个数组数据
        //   index:遍历的下标
        console.log(value, index);
      });

      // ----------------------------------------------------------------

      //  2、 map(映射) =>  遍历 + 返回
      //      返回值:新数组
      //   假如需求:求数组里面的每一项的平方 并得到这个返回的新数组

      let newArr = arr.map(function (value, index) {
        return value * value;
      });
      console.log(newArr);

      // ----------------------------------------------------------------

      //  3、 filter() => 过滤 + 返回一个新数组 => 数组的内容是通过函数测试()
      let array = [100, 29, 39, 29, 40, 60, 28];
      //   需求:过滤出数组中大于60分的数据
      let newArr1 = array.filter(function (value, index) {
        if (value >= 60) {
          return true;
        } else {
          return false;
        }
      });
      console.log(newArr1);

      let arr2 = [11, 35, 52, 88, 100];
      // 需求: 删除数组里面为35的内容
      let newArr2 = arr2.filter(function (value, index) {
        return value != 35;
      });
      console.log(newArr2);

      // ----------------------------------------------------------------

      //  4、reduce => 累计运算 => 返回累计结果
      let arr3 = [1, 2, 3, 4, 5];
      //   将每一次的return的结果重新还给sum  不仅仅可以做数值的求和 逻辑就是每次return的结果给sum
      let newArr3 = arr3.reduce(function (sum, value, index) {
        return sum + value;
      }, 0);
      console.log(newArr3);

      // ----------------------------------------------------------------

      //  5、 every 和 some
      //      every 所有人都满足才满足 返回的是布尔值
      // every()
      // 需求:检测数组里面是否所有人的分数都大于80分
      let arr4 = [80, 23, 92, 84, 83, 100];
      let isAllGood = arr4.every(function (value, index) {
        return value >= 80;
      });
      console.log(isAllGood);

      // 6、 some(value,index) some 一个满足就满足  返回的是布尔值
      //   需求 数组里有一个是满分 就返回true
      let isHasFullScore = arr4.some(function (value, index) {
        return value === 100;
      });
      console.log(isHasFullScore);

      // 7、array.from(伪数组)
      // 将伪数组变成真数组
      // Array.from是一个静态方法, 不需要实例去调用.
      // APi当中所有的集合都是伪数组 , 所谓的伪数组 就是不是数组生出来的,而且不能使用真数组的方法
      // Array.from(DOM对象);

上一篇:C++ OpenCV cvtColor CV_BGR2GRAY未声明的标识符的解决办法


下一篇:OpenCV学习笔记与代码示例(三):张氏标定法标定相机原理及函数详解