数组的方法-哪个方法改变 哪个方法不改变?

108 阅读1分钟

变的有:splice sort push pop unshift shift

splice(index,n,item..) 会改变原始数组, 从第几个开始删除,删除多少个,第三个是可选参数,向数组添加元素

sort(fn(a,b)=>{return a-b}) 数组排序 这种方法会改变原始数组!  

push,pop ,unshift,shift改变数组的长度

join,forEach,

不变有:6 slice concat filter map some every

slice(start,end) 不会修改数组,从第几个开始删,删多少个,返回一个新数组

concat() 不会改变现有的数组,返回一个新组数。展开运算符...也是这样

filter() 不会改变原始数组,方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

map() 不会改变原始数组,数组中的元素为原始数组元素调用函数处理后的值。

 () 不会改变原始数组,如果有一个元素满足条件,则表达式返回true, 没有满足条件的元素,则返回false。

every() 不会改变原始数组,组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测