Skip to main content

数组

Array.prototype 是一个长度为零的数组

这和 Object.prototype 是不一样

Array.prototype 上面都是数组方法

[
at:
concat:
constructor: Array()
copyWithin
entires
every
fill
filter
find
findIndex
findLast
findLastIndex
flat
flatMap
]

typeof Array

输出的是 function 而不是 object, 因为是构造函数

识别为 function 的优先级更高

find,some, every

some 方法找到符合条件的值则立即返回 true,全都不符合则返回 false,而 find 方法找到符合条件的值后会返回符合条件的那一项,所以在开发中视业务需求选择对应的方法

every 所有值符合条件返回 true,有一个值不符合返回 false

这三个方法都不一定会遍历完整个数组

改变数组的方法

  1. push
  2. pop
  3. shift
  4. unshift
  5. reverse
  6. sort
  7. splice

不改变数组(需要声明一个变量接住,或 直接 return 出去才有意义)

  1. concat()
  2. join()
  3. slice()
  4. filter()
  5. reduce()
  6. find()
  7. findIndex()
  8. foreach()
  9. map()
  10. toString()
  11. indexOf()
  12. lastIndexOf()
  13. includes()
  14. some()
  15. every()
  16. reduce()
  17. reduceRight()
  18. flat()

Array.fill()的坑

// 创建的每一行数组都指向同一个数组
Array(8).fill(Array(6).fill("啊"));
// 创建的每一行数组都是新数组
Array(8)
.fill()
.map(() => Array(6).fill("啊"));