ES6中的常用数组方法总结

数组方法:forEach map filter find findIndex some every reduce reduceRight

filter

筛选,调用后得到一个数组,这个数组的内部结构和原数组相同,长度大概率不同,会变少

arr.filter((item) => {
  return true 或者 false 
  // 如果上面返回true 则item就会被放在新数组中,如果为false,则不执行任何操作。
  // 所谓的新数组,是我们对应的filter的返回值
})

some

判断某个数组中是否有符合条件的值。返回值为布尔值

arr.some(item => true或者false) 

Set

Set的一个最大的特点就是数据不重复。Set函数可以接受一个数组(或类数组对象)作为参数来初始化,利用该特性也能做到给数组去重

var arr = [1, 2, 3,4 ,5,6, 4, 3, 8, 1]
    // 数组去重:
    // 方法4: set
    function newArrFn (arr) {
      // .new Set方法,返回是一个类数组,需要结合 ...运算符,转成真实数组
      return ([...new Set(arr)])
    }
    console.log(newArrFn(arr));

every

判断某个数组中是否全部符合条件的值。返回值为布尔值

与some相反,只要有一个不符合条件,结果为false,如果全部都符合条件,则结果为true

arr.every(item => true 或者 false)

find

用来查找第一个符合条件的值

返回值是第一个符合条件的值,只要第一次函数中返回true,则会把正在遍历的item给作为返回值返回

arr.find(item => true 或者 false)

findIndex

用来查找第一个符合条件的值的下标

arr.find(item => true 或者 false)

reduce/reduceRight

每次遍历都会保留上一次的返回值

arr.reduce((prevValue, curValue, index, arr) => {

  return 值 // 这个值是下一次函数执行的prevValue
}, 初始值) // 初始值是第一次函数执行的prevValue

flat

扁平化数组,没有flat函数我们需要自己封装递归函数进行扁平化。

arr.flat(层数)

如果我们不知道有几层的情况下,可以使用Infinity

arr.flat(Infinity)

fill

在数组对应的位置范围填充相同的值

arr.fill(值, 开始下标, 结束下标) // 后两个值可选

Array.of()

可以把参数变成数组

Array.of(1, 2, 3) // [1,2,3]

静态方法

直接设置给构造函数上的方法,叫静态方法,不需要new直接使用构造函数调用即可。数组中有三个静态方法

  • Array.from
  • Array.isArray
  • Array.of

猜你喜欢

转载自blog.csdn.net/qq_45547094/article/details/126966764