Array.prototype.shift()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
shift() æ¹æ³æç§»é¤ä¸¦åå³é£åç第ä¸åå
ç´ ãæ¤æ¹æ³ææ¹è®é£åçé·åº¦ã
å試ä¸ä¸
const array1 = [1, 2, 3];
const firstElement = array1.shift();
console.log(array1);
// Expected output: Array [2, 3]
console.log(firstElement);
// Expected output: 1
èªæ³
arr.shift()
åå³å¼
èªé£åä¸ç§»é¤çå
ç´ ï¼è¥é£åçºç©ºï¼åçº undefinedã
æè¿°
shift æ¹æ³æç§»é¤ä¸¦åå³é£åä¸ç´¢å¼å¼çºé¶ä¹å
ç´ ï¼å³ç¬¬ä¸åå
ç´ ï¼ï¼ä¸¦å°é¨å¾çå
¶ä»ç´¢å¼å¼æ¸ä¸ãåå¦ length 屬æ§å¼çº 0ï¼åæåå³ undefinedã
shift æ¹æ³è¢«å»æè¨è¨çºå
·éç¨æ§ï¼æ¤æ¹æ³å¯ä»¥èç± called æ applied æç¨æ¼é¡ä¼¼é£åçç©ä»¶ä¸ãè¥æ¬²æç¨æ¤æ¹æ³çç©ä»¶ä¸å
å«ä»£è¡¨ä¸ç³»ååå§çºé¶ä¹æ¸å屬æ§åºåé·åº¦ç length 屬æ§ï¼å¯è½æ¯ä¸å
·ä»»ä½æç¾©çè¡çºã
ç¯ä¾
>èªé£åä¸ç§»é¤ä¸åå ç´
以ä¸çç¨å¼ç¢¼æå°åº myFish é£åå¨ç§»é¤ç¬¬ä¸åå
ç´ ä¹åè·ä¹å¾çå
§å®¹ï¼ä¹å°åºäºè¢«ç§»é¤çå
ç´ ï¼
var myFish = ["angel", "clown", "mandarin", "surgeon"];
console.log("myFish before:", JSON.stringify(myFish));
// myFish before: ['angel', 'clown', 'mandarin', 'surgeon']
var shifted = myFish.shift();
console.log("myFish after:", myFish);
// myFish after: ['clown', 'mandarin', 'surgeon']
console.log("Removed this element:", shifted);
// Removed this element: angel
æ¼ while è¿´åä¸ä½¿ç¨ shift() æ¹æ³
shift() æ¹æ³å¸¸è¢«ç¨å¨ while è¿´åä¸çæ¢ä»¶å¤æ·ãå¨ä¸é¢çä¾åï¼æ¯ä¸æ¬¡è¿ä»£é½å°æèªé£åä¸ç§»é¤ä¸ä¸åå
ç´ ï¼ç´å°é£å空äºçºæ¢ï¼
var names = ["Andrew", "Edward", "Paul", "Chris", "John"];
while ((i = names.shift()) !== undefined) {
console.log(i);
}
// Andrew, Edward, Paul, Chris, John
è¦ç¯
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-array.prototype.shift > |