Array.from()浅拷贝

1
2
3
4
const dp1=Array(5).fill(1);
console.log(dp1)//1,1,1,1,1
const dp2=Array.from(Array(5),()=>Array(5).fill(1));
console.log(dp2)//1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

从类数组对象或者可迭代对象中创建一个新的数组实例。Array.from还可以接受第二个参数,作用类似于数组的
map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

Array.of()

根据一组参数来创建新的数组实例,支持任意的参数数量和类型,没有参数时返回[],当参数只有一个的时候,实
际上是指定数组的长度。

sort原理

对数组进行排序,默认排序顺序规则是将元素转换为字符串,然后比较它们的UT℉-16代码单元值序列时构建的。

copyWithin()

将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。

  • target(必需):从该位置开始替换数据。如果为负值,表示倒数。
  • start(可选):从该位置开始读取数据,默认为0。如果为负值,表示从末尾开始计算。
  • end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示从末尾开始计算。
    1
    2
    3
    [1,2,3,4,5].copyWithin(0,3);
    //将从3号位直到数组结束的成员((4和5),复制到从0号位开始的位置,结果覆盖了原来的1和2
    //[4,5,3,4,5]

find()

find)用于找出第一个符合条件的数组成员
参数是一个回调函数,接受三个参数依次为当前的值、当前的位置和原数组

findIndex()

findIndex.返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
find和findIndex这两个方法都可以接受第二个参数,用来绑定回调函数的this对象。

fill()

还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置
注意,如果填充的类型为对象,则是浅拷贝