Baseline Widely available
pop()
æ¹æ³ä»æ°ç»ä¸å 餿åä¸ä¸ªå
ç´ ï¼å¹¶è¿å该å
ç´ çå¼ãæ¤æ¹æ³ä¼æ´æ¹æ°ç»çé¿åº¦ã
const plants = ["broccoli", "cauliflower", "cabbage", "kale", "tomato"];
console.log(plants.pop());
// Expected output: "tomato"
console.log(plants);
// Expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]
plants.pop();
console.log(plants);
// Expected output: Array ["broccoli", "cauliflower", "cabbage"]
è¯æ³ è¿åå¼
仿°ç»ä¸å é¤çå
ç´ ï¼å½æ°ç»ä¸ºç©ºæ¶è¿å undefined
ï¼ã
pop()
æ¹æ³ä»ä¸ä¸ªæ°ç»ä¸å é¤å¹¶è¿åæåä¸ä¸ªå
ç´ ç»è°ç¨è
ãå¦æä½ å¨ç©ºæ°ç»ä¸è°ç¨ pop()
ï¼å®ä¼è¿å undefined
ã
Array.prototype.shift()
å pop()
æç±»ä¼¼çè¡ä¸ºï¼ä½æ¯å®æ¯ä½ç¨å¨æ°ç»ç第ä¸ä¸ªå
ç´ ä¸çã
pop()
æ¯ä¿®æ¹æ¹æ³ãå
¶æ¹åäº this
çé¿åº¦åå
容ãå¦æä½ æ³è¦ this
ä¸åï¼ä½æ¯è¿åä¸ä¸ªæ°çæåä¸ä¸ªå
ç´ è¢«ç§»é¤çæ°ç»ï¼ä½ å¯ä»¥ä½¿ç¨ arr.slice(0, -1)
æ¥ä»£æ¿ã
pop()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ãè½ç¶åç¬¦ä¸²ä¹æ¯ç±»æ°ç»å¯¹è±¡ï¼ä½æ¯ç±äºå
¶ä¸è½è¢«ä¿®æ¹ï¼æä»¥ pop()
æ¹æ³å¹¶ä¸è½åºç¨å¨å符串ä¸ã
ä¸é¢ç代ç é¦å
å建äºä¸ä¸ªæ¥æå个å
ç´ çæ°ç» myFish
ï¼ç¶åå 餿å®çæåä¸ä¸ªå
ç´ ã
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const popped = myFish.pop();
console.log(myFish); // ['angel', 'clown', 'mandarin' ]
console.log(popped); // 'sturgeon'
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ pop()
pop()
æ¹æ³ä¼è¯»å this
ä¸ç length
屿§ã妿è§èåç length 屿§ä¸º 0ï¼length
ä¼è¢«å次设置为 0ï¼é´äºä¹åå¯è½æ¯è´æ°æè
undefined
ï¼ãå¦åï¼è¿åå¹¶å é¤ä½äº length - 1
å¤ç屿§ã
const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
console.log(Array.prototype.pop.call(arrayLike));
// 4
console.log(arrayLike);
// { length: 2, unrelated: 'foo' }
const plainObj = {};
// 没æ length 屿§ï¼æä»¥é¿åº¦ä¸º 0
Array.prototype.pop.call(plainObj);
console.log(plainObj);
// { length: 0 }
以类æ°ç»çæ¹å¼ä½¿ç¨å¯¹è±¡
push
å pop
æ¹æ³æ¯éç¨çï¼æä»¬å¯ä»¥å©ç¨è¿ä¸ç¹æ¥ç¼åæ´çµæ´»ç代ç ââå¦ä»¥ä¸ç¤ºä¾æç¤ºã
请注æï¼å¨æ¤ç¤ºä¾ä¸ï¼æä»¬ä¸ä¼å建æ°ç»æ¥åå¨å¯¹è±¡éåãç¸åï¼æä»¬å°éååå¨å¨å¯¹è±¡æ¬èº«ä¸ï¼å¹¶å¨ Array.prototype.push
å Array.prototype.pop
ä¸ä½¿ç¨ call
æ¥æ¬ºéªè¿äºæ¹æ³ï¼è®©å®ä»¬è®¤ä¸ºæä»¬æ£å¨å¤çä¸ä¸ªæ°ç»ã
const collection = {
length: 0,
addElements(...elements) {
// æ¯æ¬¡æ·»å å
ç´ æ¶
// obj.length é½ä¼èªå¨å¢å
// è¿å push æ¹æ³çè¿åå¼ï¼å³ length 屿§çæ°å¼
return [].push.call(this, ...elements);
},
removeElement() {
// æ¯æ¬¡ç§»é¤å
ç´ æ¶
// obj.length é½ä¼èªå¨åå°
// è¿å pop æ¹æ³çè¿åå¼ï¼å³è¢«ç§»é¤çå
ç´
return [].pop.call(this);
},
};
collection.addElements(10, 20, 30);
console.log(collection.length); // 3
collection.removeElement();
console.log(collection.length); // 2
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4