JavaScript数组方法: 变异方法 (mutation method)和非变异 (non-mutating method)
Posted zhongsr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数组方法: 变异方法 (mutation method)和非变异 (non-mutating method)相关的知识,希望对你有一定的参考价值。
javascript提供了几种添加,删除和替换数组中项目的方法。但是其中一些方法会使数组发生变化,而另一些则是不发生变化的。他们产生一个新的数组。
变异方法 (mutation method)
push()、pop()、shift()、unshift()、splice()、sort()、reverse() 等, 都会改变调用了这些方法的原始数组。
如:
const mutatingArr = ['a',' b', 'c']
mutatingArr.push('d'); //['a', 'b', 'c', 'd']
mutatingArr.unshift('e'); //['e', 'a', 'b', 'c', 'd']
console.log(mutatingArr); //['e', 'a', 'b', 'c', 'd']
非变异 (non-mutating method)
filter()、concat()、slice()、map() 调用这些方法不会改变原始数组,而是返回一个新的数组。
如:
const arr1 = ['a', 'b', 'c', 'd', 'e'];
const arr2 = arr1.concat('f'); // ['a', 'b', 'c', 'd', 'e'. 'f']
console.log(arr1); // ['a', 'b', 'c', 'd', 'e']
以上是关于JavaScript数组方法: 变异方法 (mutation method)和非变异 (non-mutating method)的主要内容,如果未能解决你的问题,请参考以下文章