数组
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
这三个方法都不一定会遍历完整个数组
改变数组的方法
- push
- pop
- shift
- unshift
- reverse
- sort
- splice
不改变数组(需要声明一个变量接住,或 直接 return 出去才有意义)
- concat()
- join()
- slice()
- filter()
- reduce()
- find()
- findIndex()
- foreach()
- map()
- toString()
- indexOf()
- lastIndexOf()
- includes()
- some()
- every()
- reduce()
- reduceRight()
- flat()
Array.fill()的坑
// 创建的每一行数组都指向同一个数组
Array(8).fill(Array(6).fill("啊"));
// 创建的每一行数组都是新数组
Array(8)
.fill()
.map(() => Array(6).fill("啊"));