Побочный эффект
Сортировать
Метод заключается в том, что он меняет порядок элементов в исходном массиве. Другими словами, он мутирует массив на месте. Один из способов избежать этого, — это сначала объединить пустой массив с отсортированным (помните, чтоломтик
ивпадинат
Верните новый массив), затем запуститеСортировать
метод.- Используйте
Сортировать
Метод вNonmutatingsort
Функция для сортировки элементов массива в порядке возрастания. Функция должна вернуть новый массив, а не мутироватьGlobalarray
Переменная.
- Используйте
var globalArray = [5, 6, 3, 2, 9]; function nonMutatingSort(arr) { // Only change code below this line // Only change code above this line } nonMutatingSort(globalArray);
- Отвечать:
var globalArray = [5, 6, 3, 2, 9]; function nonMutatingSort(arr) { let copy = [...arr]; copy.sort((a, b) => { return a - b; }) return copy; } console.log(nonMutatingSort(globalArray)); will return [2, 3, 5, 6, 9]
- ИЛИ
var globalArray = [5, 6, 3, 2, 9]; function nonMutatingSort(arr) { return [].concat(arr).sort(function(a, b) { return a - b; }); } nonMutatingSort(globalArray);
- Пояснение кода:
- Сначала мы объединяем массив, взятый в качестве параметра для нового пустого массива.
- Затем используйте
Сортировать ()
Метод Создайте функцию для сортировки нового массива в порядке возрастания.
Ларсон, Куинси, редактор. » Верните отсортированный массив без изменения исходного массива. » Https://www.freecodeCamp.org/ , Class Central, 2014, Twitter.com/ossia.
Оригинал: «https://dev.to/rthefounding/returning-a-sorted-array-without-changing-the-original-array-3el8»