suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Was ist der Rückgabewert, nachdem pop() push() unshift() shift() ein Array in Javascript bearbeitet?

Kürzlich habe ich „The Definitive Guide to JavaScript (6th Edition)“ gelesen, übersetzt vom Taobao-Team. Im Kapitel über Arrays finden Sie eine Einführung in einige Methoden von JS-Arrays.
pop() push() behandelt das Array als Stapel und löscht dann Array-Elemente und fügt sie am Ende des Arrays hinzu.
unshift()shift() behandelt das Array ebenfalls als Stapel, löscht jedoch Elemente am Kopf des Arrays und fügt sie hinzu.
Alle vier Methoden aktualisieren die Länge des Arrays.
Aber was den genannten Rückgabewert betrifft, bin ich etwas verwirrt, nachdem ich das gegebene Beispiel gesehen habe.
Beispielcode aus dem Buch:

var statck=[]; //stack:[]
stack.push(1,2); //stack:[1,2]  返回2
stack.pop();   //stack:[1]      返回2
stack.push(3);  //stack:[1,3]   返回2
stack.pop();    //stack:[1]     返回3
stack.push([4,5]); //stack:[1,[4,5]]   返回2
stack.pop();  //stack:[1]       返回[4,5]
stack.pop(); // stack:[]    返回1

Der Rückgabewert sollte der aktuell gelöschte oder eingefügte Wert sein
Der letzte in der zweiten Zeile eingefügte Wert ist 2, also ist der Rückgabewert 2.
Warum gibt es dann in der 4. Codezeile oben einen Rückgabewert von 2? ? Ist es nicht der Wert 3? Denn der eingefügte Wert ist 3.

stack.push(3); //stack:[1,3] 返回2

Dann versteht Zeile 6 auch den folgenden Rückgabewert nicht:

stack.push([4,5]); //stack:[1,[4,5]]   返回2

Warum ist der zurückgegebene Wert 2 statt 5?

女神的闺蜜爱上我女神的闺蜜爱上我2782 Tage vor1611

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-06-12 09:27:04

    Array.prototype.pop()
    Return value
    The removed element from the array; undefined if the array is empty.

    Array.prototype.push()
    Return value
    The new length property of the object upon which the method was called.

    Array.prototype.unshift()
    Return value
    The new length property of the object upon which the method was called.

    Array.prototype.shift()
    Return value
    The removed element from the array; undefined if the array is empty.

    即:push()unshift() 会返回新数组的长度,而 pop()shift() 会返回被移除的元素(当数组为空时返回 undefined

    来源:MDN

    Antwort
    0
  • 迷茫

    迷茫2017-06-12 09:27:04

    1,pusn 返回的是数组的长度。
    2,pop,返回的是删除的元素。
    3,unshift, 返回的是数组的长度。
    4,shift 返回的是删除的元素。

    Antwort
    0
  • StornierenAntwort