TC39 Ecma International — это группа разработчиков JavaScript, реализаторов, ученых и других лиц, которые сотрудничают с сообществом для поддержки и развития определения JavaScript. Одной из самых интересных особенностей Этапа 3 (который означает, что он близок к завершению) является возможность изменить массив путем копирования. Эта функция предоставит в будущем дополнительные методы для Array.prototype
и TypedArray.prototype
, позволяющие вносить изменения в массив, возвращая новую его копию с изменением.
В этой статье мы обсудим три таких метода: toReversed
, toSorted
и toSpliced
и сравним их с более часто используемыми методами reverse
, sort
и splice
.
обратный метод
Метод toReversed
используется для создания нового массива, противоположного исходному массиву. Исходный массив остается неизменным.
Вот пример, иллюстрирующий разницу между toReversed
и reverse
:
Как видите, метод toReversed
возвращает новый массив с элементами в обратном порядке, а исходный массив остается неизменным.
С другой стороны, метод reverse
изменяет исходный массив на месте. Вот пример:
Таким образом, хотя оба метода могут использоваться для обращения массива, toReversed
создает новый массив, а reverse
изменяет исходный массив.
метод toSorted
Метод toSorted
используется для сортировки элементов массива в определенном порядке. Как и toReversed
, этот метод возвращает новый массив, оставляя исходный массив без изменений.
Вот пример, иллюстрирующий разницу между toSorted
и sort
:
С другой стороны, метод sort
изменяет исходный массив на месте. Вот пример:
метод toSpliced
Метод toSpliced
используется для удаления элементов из массива. Он возвращает новый массив с удаленными указанными элементами, оставляя исходный массив без изменений.
Вот пример, иллюстрирующий разницу между toSpliced
и splice
:
Как видите, метод toSpliced
возвращает новый массив с оставшимися после удаления элементами.
С другой стороны, метод splice
изменяет исходный массив на месте. Вот пример:
Таким образом, оба метода могут использоваться для объединения массива, но toSplice
создает новый массив, а splice
изменяет исходный массив.
Могу ли я использовать их сегодня?
Сегодня toReversed
, toSorted
и toSpliced
не являются частью стандарта ECMAScript. Они находятся на стадии 3 как кандидаты на спецификацию, что означает, что они близки к завершению.
Однако в Chrome эти методы доступны начиная с версии 110. Если вы не хотите ждать, пока они станут частью спецификации, вы всегда можете использовать их через полифиллы.
Удачного кодирования! :D
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.