Я пишу производный от массива класс на JavaScript, и мне нужно знать, какие функции нужно перегрузить, чтобы я мог быть в курсе изменений, внесенных в массив.
Я знаю, что Array.push() и Array.splice()мутирует.Есть ли окончательный список других?
Array.push()
Array.splice()
Вы можете найти список в MDN как Методы Mutator (наряду с Accessor и Итерация методы):
copyWithin
fill
pop
push
reverse
shift
sort
splice
unshift
Вы также можете использовать .concat() перед использованием метода мутации, чтобы убедиться, что вы не изменяете свои массивы, например,
.concat()
const dontMutateMe = [4,5,1,2,3]; const sortArray = dontMutateMe.concat().sort(...)
Я нашел этот сайт с именем Doesitmutate
Имеет список всех функций - и сообщает, мутирует ли он или нет.