哪些JavaScript数组函数正在变异?

时间:2012-01-25 20:35:54

标签: javascript arrays mutable

我在JavaScript中编写一个Array派生类,需要知道要重载哪些函数,这样才能知道对数组所做的更改。

我知道Array.push()Array.splice()正在发生变异。是否有其他任何明确的清单?

3 个答案:

答案 0 :(得分:59)

您可以在MDN上找到Mutator方法列表(以及AccessorIteration方法):

答案 1 :(得分:6)

在使用变异方法之前,您还可以使用.concat()来确保不会改变数组,例如

const dontMutateMe = [4,5,1,2,3];
const sortArray = dontMutateMe.concat().sort(...)

答案 2 :(得分:3)

我发现这个名为Doesitmutate的网站

具有所有函数的列表-并告诉它是否发生突变。