shift()
删除原数组第一项,并返回删除元素的值,如果数组为空则返回undefined。该方法会改变原来的数组,而不会创建新的数组。

console.info(array);
console.info(nullarray);
console.info(array.shift());//返回删除元素的值
console.info(nullarray.shift());//空数组返回undefined
console.info(array);//数组变化了

unshift()
将参数添加到原数组开头,并返回数组的长度。该方法会改变原来的数组,而不会创建新的数组。

console.info(array);
console.info(array.unshift(-1,0));//向数组开头插入-1、0,返回插入后数组长度。
console.info(array);

map()方法:全部循环,不改变原数组,会生成新的数组。

    test(){
      let arr=[0,1,2,3,4];
      let afterArr = arr.map(val => val+2)
      console.log(arr);//[0, 1, 2, 3, 4]
      console.log(afterArr);//[2, 3, 4, 5, 6]
    },

foreach():全部循环,可以重新给原数组赋值

test(){
      let arr=[0,1,2,3,4];
      let afterArr = arr.forEach((val, idx) => arr[idx]=val+2)
      console.log(arr);//[2, 3, 4, 5, 6]
      console.log(afterArr);//undefined
    },

filter():过滤出满足条件的部分数据,不会改变原数组,会生成新的数组

test(){
      let arr=[0,1,2,3,4];
      let result = arr.filter(one => one>2);
      console.log(result); //[3,4]
    },

every():若目标数组中每一个对象都符合条件则返回true,否则返回false

some():若目标数组中某一个对象符合条件则返回true,否则返回false

test(){
      let arr=[0,1,2,3,4];
      let every_result = arr.every(one => one>2);
      let some_result = arr.some(one => one>2);
      console.log(every_result); //false
      console.log(some_result);//true
    },

reduce():常用于叠加、数组扁平化等,它接收一个回调函数作为累加器(accumulator),对该数组的所有元素(从左到右)执行操作,最后将计算结果累积为单一输出值。

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

callback:必需,是一个函数,它接受四个参数:

  • accumulator(累计器):累计回调的返回值,也是上一次调用回调时返回的值,或者是 initialValue。
     
  • currentValue(当前值):数组中当前正在处理的元素。
  • index(可选):当前元素在数组中的索引(从0开始或从initialValue指定的位置开始)。
  • array(可选):调用 reduce 方法的原数组。

initialValue(可选):传递给 reduce 的初始值。如果不提供此值,那么 reduce 会从数组的第二个元素开始执行,并使用第一个元素作为 accumulator 的初始值。

    test() {
      let arr = [0, 1, 2, 3, 4];
      var sumValue = arr.reduce(function (sum, number) {
        //第一个参数为叠加总值,需要初始化,第二个参数是当前项
        return sum + number;
      }, 0); //sum的初始化
      console.log(sumValue); //10
    },

find():在数组中找到符合要求的对象 和filter的区别就是找到符合要求的对象就停止寻找了,返回的是一个对象,而filter返回的是所有符合要求的对象组成的新数组

test() {
      let arr = [0, 1, 2, 3, 4];
      var big = arr.find(val => val>2);
      console.log(big); //3
    },

findIndex():findIndex返回第一个符合条件的索引号

    test1() {
      let arr = [1, 1, 2, 0, 4];
      var big = arr.findIndex(val => val>2);
      console.log(big); //下标为4
    },

Logo

前往低代码交流专区

更多推荐