Récemment, je lisais "The Definitive Guide to JavaScript (6th Edition)", traduit par l'équipe Taobao. Voir le chapitre sur les tableaux pour présenter quelques méthodes des tableaux JS.
pop() push() traite le tableau comme une pile, puis supprime et ajoute des éléments du tableau à la fin du tableau.
unshift() shift() traite également le tableau comme une pile, mais il supprime et ajoute des éléments en tête du tableau.
Les quatre méthodes mettront à jour la longueur du tableau.
Mais concernant la valeur de retour mentionnée, je suis un peu confus après avoir vu l'exemple donné.
Exemple de code du livre :
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
La valeur de retour doit être la valeur actuellement supprimée ou insérée
La dernière valeur insérée dans la deuxième ligne est 2, donc la valeur de retour est 2.
Alors pourquoi y a-t-il une valeur de retour de 2 dans la 4ème ligne de code ci-dessus ? N'est-ce pas la valeur 3 ? Parce que la valeur insérée est 3.
stack.push(3); //stack:[1,3] 返回2
Ensuite, la ligne 6 ne comprend pas non plus la valeur de retour suivante :
stack.push([4,5]); //stack:[1,[4,5]] 返回2
Pourquoi la valeur renvoyée est-elle 2 au lieu de 5 ?
即:
push()
和unshift()
会返回新数组的长度,而pop()
和shift()
会返回被移除的元素(当数组为空时返回undefined
)来源:MDN
1, pusn renvoie la longueur du tableau.
2, pop, renvoie l'élément supprimé.
3, unshift, renvoie la longueur du tableau.
4, shift renvoie l'élément supprimé.