Baseline Widely available
push()
æ¹æ³å°æå®çå
ç´ æ·»å å°æ°ç»çæ«å°¾ï¼å¹¶è¿åæ°çæ°ç»é¿åº¦ã
const animals = ["pigs", "goats", "sheep"];
const count = animals.push("cows");
console.log(count);
// Expected output: 4
console.log(animals);
// Expected output: Array ["pigs", "goats", "sheep", "cows"]
animals.push("chickens", "cats", "dogs");
console.log(animals);
// Expected output: Array ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]
è¯æ³
push()
push(element0)
push(element0, element1)
push(element0, element1, /* ⦠,*/ elementN)
åæ°
elementN
æ·»å å°æ°ç»æ«å°¾çå ç´ ã
è°ç¨æ¹æ³çå¯¹è±¡çæ° length
屿§ã
push()
æ¹æ³å°å¼è¿½å å°ä¸ä¸ªæ°ç»ä¸ã
Array.prototype.unshift()
æçå push()
ç¸ä¼¼çè¡ä¸ºï¼ä½æ¯å
¶ä½ç¨äºæ°ç»çå¼å¤´ã
push()
æ¹æ³æ¯ä¸ä¸ªä¿®æ¹æ¹æ³ã宿¹åäº this
çå
容åé¿åº¦ãå¦æä½ å¸æ this
çå¼ä¿æä¸åï¼ä½è¿åä¸ä¸ªæ«å°¾è¿½å äºå
ç´ çæ°æ°ç»ï¼ä½ å¯ä»¥ä½¿ç¨ arr.concat([element0, element1, /* ... ,*/ elementN])
æ¥ä»£æ¿ã请注æï¼è¿äºå
ç´ éè¦è¢«å
è£
å¨ä¸ä¸ªé¢å¤çæ°ç»ä¸ââå¦åï¼å¦æå
ç´ æ¬èº«æ¯ä¸ä¸ªæ°ç»ï¼ç±äº concat()
çè¡ä¸ºï¼å®å°è¢«å±å¼è䏿¯ä½ä¸ºå个å
ç´ æ·»å å°åæ°ç»çæ«å°¾ã
push()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ãè½ç¶åç¬¦ä¸²ä¹æ¯ç±»ä¼¼æ°ç»çï¼ä½è¿ä¸ªæ¹æ³ä¸éç¨äºå®ï¼å 为å符串æ¯ä¸å¯åçã
æ¥ä¸æ¥ç代ç ä¸å°ä¼çæå
å«ä¸¤ä¸ªå
ç´ ç sports
æ°ç»ï¼ç¶ååå
¶æ·»å 两个å
ç´ ãtotal
åéå°ä¼è®°å½æ°ç»çæ°é¿åº¦ã
const sports = ["soccer", "baseball"];
const total = sports.push("football", "swimming");
console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total); // 4
å并两个æ°ç»
è¿ä¸ªç¤ºä¾ä½¿ç¨å±å¼è¯æ³æ¥å°ç¬¬äºä¸ªæ°ç»çææå ç´ æ·»å å°ç¬¬ä¸ä¸ªæ°ç»ä¸ã
const vegetables = ["parsnip", "potato"];
const moreVegs = ["celery", "beetroot"];
// å并第äºä¸ªæ°ç»å°ç¬¬ä¸ä¸ªæ°ç»ä¸
vegetables.push(...moreVegs);
console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']
ä¹å¯ä»¥éè¿ä½¿ç¨ concat()
æ¹æ³æ¥å并两个æ°ç»ã
push()
æ¹æ³ä¼è¯»å this
ç length
屿§ãç¶åï¼å®å° this
çæ¯ä¸ªç´¢å¼ä» length
å¼å§è®¾ç½®ï¼å¹¶å°åæ°ä¼ éç» push()
ãæåï¼å®å° length
设置æä¹åçé¿åº¦å ä¸å·²æ·»å å
ç´ çæ°éã
const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
Array.prototype.push.call(arrayLike, 1, 2);
console.log(arrayLike);
// { '2': 4, '3': 1, '4': 2, length: 5, unrelated: 'foo' }
const plainObj = {};
// è¿é没æé¿åº¦å±æ§ï¼æä»¥é¿åº¦ä¸º 0
Array.prototype.push.call(plainObj, 1, 2);
console.log(plainObj);
// { '0': 1, '1': 2, length: 2 }
以类似æ°ç»çæ¹å¼ä½¿ç¨å¯¹è±¡
å¦ä¸æè¿°ï¼push
被ææè®¾è®¡ä¸ºéç¨çï¼æä»¬å¯ä»¥å©ç¨è¿ä¸ç¹ãå°±åè¿ä¸ªä¾åæå±ç¤ºçï¼Array.prototype.push
å¯ä»¥å¾å¥½çå¤ç对象ã
注æï¼æä»¬æ²¡æå建ä¸ä¸ªæ°ç»æ¥åå¨å¯¹è±¡éåãç¸åï¼æä»¬å°éååå¨å¨å¯¹è±¡æ¬èº«ä¸ï¼å¹¶éè¿ Array.prototype.push
ç call
æ¥è°ç¨è¯¥æ¹æ³ï¼è®©å®è®¤ä¸ºæä»¬æ£å¨å¤çä¸ä¸ªæ°ç»ââå½åäº JavaScript å
许æä»¬ä»¥ä»»ä½æä»¬æ³è¦çæ¹å¼å»ºç«æ§è¡ä¸ä¸æçæ¹å¼ï¼è¿æ ·æ¯å¯è¡çã
const obj = {
length: 0,
addElem(elem) {
// obj.length 卿¯æ¬¡æ·»å å
ç´ æ¶èªå¨å¢å
[].push.call(this, elem);
},
};
// 让æä»¬æ·»å ä¸äºç©ºå¯¹è±¡æ¥è¯´æ
obj.addElem({});
obj.addElem({});
console.log(obj.length); // 2
注æï¼å°½ç®¡ obj
䏿¯ä¸ä¸ªæ°ç»ï¼push
æ¹æ³ä»æåå°å¢å äº obj
ç length
屿§ï¼å°±åæä»¬å¤çä¸ä¸ªçæ£çæ°ç»ä¸æ ·ã
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