Побочный эффект
СортироватьМетод заключается в том, что он меняет порядок элементов в исходном массиве. Другими словами, он мутирует массив на месте. Один из способов избежать этого, — это сначала объединить пустой массив с отсортированным (помните, чтоломтикивпадинатВерните новый массив), затем запуститеСортироватьметод.- Используйте
СортироватьМетод в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»