跳到主要内容

数组

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("啊"));