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

dev*_*os1 45 javascript arrays mutable

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

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

Jon*_*ski 60

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


Vin*_*mes 7

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

const dontMutateMe = [4,5,1,2,3];
const sortArray = dontMutateMe.concat().sort(...)
Run Code Online (Sandbox Code Playgroud)

  • 使用ES2015,它只是:`const sortArray = [... dontMutateMe] .sort(...);` (5认同)

Soo*_*ran 7

我发现这个网站叫Dositmutate

拥有所有功能的列表 - 并说明它是否发生变异。