js数组 有很多方法,其中有些方法可以改变数组本身,有些方法对原数组没有影响, 做一下梳理总结
改变原数组的方法:
- splice
- copyWithin
- push
- pop
- unshift
- shift
- fill
- sort
- reverse
不改变原数组的方法有:
-
concat(value0, value1, /* … ,*/ valueN)=》返回新的array实例, value0指数组或值
-
isArray 静态方法用于确定传递的值是否是一个数组, 用法Array.isArray(arr1)
-
join(separator?), 用separator将数组拼接成字符串,返回该字符串,不传separator,默认空格来分割
-
Array.from(arrayLike, mapFn?, thisArg?), 一个静态方法,将
可迭代对象或类数组对象创建一个新的浅拷贝数组 -
Array.fromAsync(arrayLike, mapFn?, thisArg?) 静态方法可以由一个异步可迭代对象、可迭代对象或类数组对象创建一个新的、浅拷贝的
Array实例。 -
toReverse()
-
toSorted()
-
slice()
-
toSpliced(), 返回一个新数组,作用与splice方法类似,不改变原数组
-
Array.of() 静态方法通过可变数量的参数创建一个新的
Array实例,而不考虑参数的数量或类型
查找:
- findIndex
- findLastIndex
- find
- findLast
- indexOf
- filter
- inclueds
遍历:
- forEach
- map
- flatMap
- every
- some
- keys
- values
- entries
- reduce
- reduceRight
- flat,返回一个新数组
- toString
- toLocaleString
- with 返回一个新数组
- to