В ECMAScript 2023 (ES-14) представлены некоторые интересные улучшения массивов для решения проблемы мутации в таких методах, как reverse()
, sort()
и splice()
. Эти усовершенствования направлены на предоставление альтернативных встроенных методов, которые предотвращают прямое изменение исходного массива. Давайте рассмотрим эти новые функции:
1.toReversed()
: метод toReversed()
возвращает новый массив с элементами в обратном порядке. Он не изменяет исходный массив. Например:
2.toSorted(compareFn)
: метод toSorted()
возвращает новый массив с элементами, отсортированными в соответствии с предоставленной функцией сравнения compareFn
. Это позволяет настроить порядок сортировки в соответствии с вашими требованиями. Этот метод не изменяет исходный массив. Вот несколько примеров:
3.toSpliced(start, deleteCount, ...items)
: метод toSpliced()
возвращает новый массив с удаленными или добавленными элементами по указанному индексу start
. Он не изменяет исходный массив. Вот пример:
4.with(index, value)
: метод with()
возвращает новый массив, в котором элемент в указанном index
заменяется предоставленным value
. Он не изменяет исходный массив. Например:
5.findLast(), findLastIndex() and find(), findIndex()
. Эти методы предлагают обратную функциональность существующих методов find()
и findIndex()
. Давайте рассмотрим, как они работают и их преимущества:
Сценарий 1. Массив findLast()
Рассмотрим массив numbersIndexArr
, содержащий числа [2, 4, 6, 73, 67, 40]
. Мы хотим найти последнее число, удовлетворяющее определенному условию, в данном случае нечетное. Вместо того, чтобы выполнять итерацию с начала массива, теперь мы можем использовать метод findLast()
для поиска с конца. Вот пример:
Метод findLast()
возвращает последний элемент массива, удовлетворяющий заданному условию. В этом случае он вернет последнее нечетное число в массиве (67
). Этот метод является удобной альтернативой созданию временных дубликатов или выполнению сложных операций.
Сценарий 2. В этом коде метод find()
используется для поиска первого нечетного числа в массиве, а результат сохраняется в переменной result
. Метод findIndex()
используется для нахождения индекса первого нечетного числа, а результат сохраняется в переменной resultIndex
.
Операторы журнала консоли затем отображают соответствующие результаты: значение первого нечетного числа (73
) для журнала «Результат» и индекс первого нечетного числа (3
) для журнала «Индекс».
Конечно! Вот улучшенное описание потенциальных функций в ECMAScript 2023 (ES-14):
Грамматика Hashbang: ECMAScript 2023 вводит поддержку грамматики Hashbang, позволяя разработчикам указывать интерпретатор для файлов сценариев с использованием синтаксиса #!
. Эта функция обеспечивает беспрепятственное выполнение в определенных средах.
Символы как ключи WeakMap. В ECMAScript 2023 символы можно использовать в качестве ключей в WeakMap
структурах данных наряду с объектами. Это усовершенствование повышает гибкость и эффективность при использовании символов в качестве уникальных ключей для личных или внутренних данных.
Спасибо за чтение, счастливого кодирования :)
Если вы подписаны на меня, то изучите мое портфолио