Ich habe eine Demo geschrieben, um ein bestimmtes Element über Index aus einem Array zu entfernen.Abrufen des Ergebnisarrays vor und nach der Verwendung von splice()
var splice_a = function (array, index) {
array.splice(index, 1);
return array
};
var splice_b = function (array, index) {
return array.splice(index, 1)
};
var test = function() {
var array = [1, 2, 3];
alert(splice_a(array, 1));
alert(splice_b(array, 1));
};
<button onclick="test()">Click me</button>
Array.prototype.splice() sagt über die return value
:
Ein Array die gelöschten Elemente enthalten. Wenn nur ein Element entfernt wird, wird ein Array mit einem Element zurückgegeben. Wenn keine Elemente entfernt sind, wird ein leeres Array zurückgegeben.
Es wird nicht erwähnt: Wenn ich das Ergebnis Array erhalten möchte, sollte ich es mit Keyword return
kombinieren?
Es soll ein Fall sein, weil ich 2 Unterschied Erzielen von Ergebnissen:
1,3
Meine Frage: Was ist mit return array.splice(index, 1)
in diesem Fall passieren?
Ja, Sie müssen das 'return' Schlüsselwort mit einem Wert verwenden, wenn Sie eine Funktion wollen diesen Wert zurückzukehren. – Malk
Ich sehe nicht, was Sie hier falsch verstehen. Das Code-Snippet, das Sie gepostet haben, zeigt dasselbe Verhalten wie von MDN erläutert. Wenn Sie das Ergebnis von 'Array.prototype.splice' zurückgeben, erhalten Sie ein Array von Elementen, die entfernt wurden, NICHT das ursprüngliche Array. – Damon
@Damon Hast du meine Frage gelesen? Gleiches Verhalten aber bitte 2 Differenzresuls. –