Введение

ECMAScript 2023, который должен выйти в июне, должен добавить новые методы поиска и изменения массивов, разрешить использование символов в качестве ключей WeakMap и стандартизировать поддержку грамматики hashbang.

Изменить массив путем копирования

в реверс

Метод toReversed используется для создания нового массива, противоположного исходному массиву. Исходный массив остается неизменным.

Методы toReversed и reverse используются для реверсирования массива, toReversed создает новый массив, а reverse изменяет исходный массив.

const numbers = [1, 2, 3, 4, 5];
const reversedElement = numbers.toReversed();

console.log(numbers); //[1, 2, 3, 4, 5]
console.log(reversedElement); //[5, 4, 3, 2, 1]

по сортировке

Метод toSorted используется для сортировки элементов массива в определенном порядке. Он не изменяет исходный массив.

Методы toSorted и sort используются для сортировки массива, toSorted создает новый массив, а sort изменяет исходный массив.

const numbers = [3, 4, 1, 5, 2];
const sortedNumbers = numbers.toSorted();

console.log(numbers); // Output: [3, 4, 1, 5, 2]
console.log(sortedNumbers); // Output: [1, 2, 3, 4, 5]

в соединение

Метод toSpliced ​​используется для удаления элементов из массива. Он возвращает новый массив с удаленными указанными элементами, оставляя исходный массив без изменений.

Метод toSpliced возвращает обновленный массив, а метод соединения возвращает только объединенные элементы. toSpliced создает новый массив, а splice изменяет исходный массив.

Пример для toSpliced

const numbers = [1, 2, 3, 4, 5];
const usingtoSpliced = numbers.toSpliced(1,2,"Chandra")

console.log('numbers', numbers) //Output: [1, 2, 3, 4, 5]
console.log('usingtoSpliced', usingtoSpliced) //Output: [1, 'Chandra', 4, 5]
console.log('numbers', numbers) //Output: [1, 2, 3, 4, 5]

Пример для сращивания

const numbers = [1, 2, 3, 4, 5];
const usingSplice = numbers.splice(1,2,"Chandra")

console.log('numbers', numbers) //Output: [1, 'Chandra', 4, 5]
console.log('usingSplice', usingSplice) //Output: [2, 3]
console.log('numbers', numbers) //Output: [1, 'Chandra', 4, 5] 

с(индекс, значение)

Метод with() возвращает копию массива с замененным значением по указанному индексу.

const number = [1, 2, 3, 4];
const replaced = number.with(2, 99);
console.log(number); // Output: [ 1, 2, 3, 4 ]
console.log(replaced); // Output: [ 1, 2, 99, 4 ]

Могу ли я использовать их сегодня?

В настоящее время методы toReversed, toSorted и toSpliced ​​не включены в официальный стандарт ECMAScript. Однако они находятся на этапе 3 процесса спецификации, что указывает на то, что они близятся к завершению и могут быть включены в будущие версии JavaScript.

Однако в Chrome эти методы доступны начиная с версии 110.

Что дальше?

  • Поиск элементов из последнего
  • Символы как ключи WeakMap
  • Хашбанг Грамматика

Подписывайтесь на меня в LinkedIn!!!