56 Stimmen

Ändert die .sort Funktion das originale Array?

Ich habe diesen Code:

arr = arr.sort(function (a, b) {
    return a.time>b.time
})

Muss ich arr neu definieren oder kann ich einfach die sort-Funktion aufrufen? Wie hier:

arr.sort(function (a, b) {
    return a.time>b.time
})

Werden die sort- und filter-Funktionen das Original-Array ändern?

1voto

Rohìt Jíndal Punkte 15250

Wird sich das Sortieren und Filtern die Originalreihenfolge ändern?

Für die sort()-Methode lautet die Antwort Ja, aber für die filter()-Methode lautet die Antwort Nein.

Lassen Sie mich dies anhand eines Beispiels erklären :

// Ursprüngliches Array
const arr = [5, 4, 3, 2, 1];

// Werte des Arrays sortieren und in einer Variable zuweisen.
const sortedArr = arr.sort((a, b) => a-b);

// Ursprüngliches Array geändert.
console.log(arr); // [1,2,3,4,5]

// Neue Variable mit sortiertem Array.
console.log(sortedArr); // [1,2,3,4,5]

Um zu verhindern, dass das Ursprüngliche Array geändert wird, können wir to[Operation] verwenden, das eine neue Sammlung mit der angewendeten Operation zurückgibt (Dies befindet sich derzeit in Phase 3 und wird bald verfügbar sein).

const arr = [5, 4, 3, 2, 1];

const sortedArr = arr.toSort((a, b) => a-b);

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

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X