Array.prototype.splice()
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æâ©.
splice() æ¹æ³å¯ä»¥èç±åªé¤æ¢æå
ç´ ä¸¦ï¼æå å
¥æ°å
ç´ ä¾æ¹è®ä¸åé£åçå
§å®¹ã
å試ä¸ä¸
const months = ["Jan", "March", "April", "June"];
months.splice(1, 0, "Feb");
// Inserts at index 1
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, "May");
// Replaces 1 element at index 4
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "May"]
èªæ³
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
忏
start-
é£åä¸è¦éå§æ¹åçå ç´ ç´¢å¼ï¼èµ·å§çº 0ï¼ãè¥ç´¢å¼å¤§æ¼é£åé·åº¦ï¼å實ééå§çç´¢å¼å¼æè¢«è¨çºé£åé·åº¦ãè¥ç´¢å¼çºè² ï¼åæå¾é£å䏿å¾ä¸åå ç´ éå§å¾åæ¹åï¼èµ·å§çº -1ï¼ä¸è¥å ¶çµå°å¼å¤§æ¼é£åçé·åº¦ï¼åæè¢«è¨çº 0ã
deleteCount鏿æ§-
ä¸å表示欲åªé¤çåé£åå ç´ æ¸éçæ´æ¸ãè¥çç¥äº
deleteCountï¼æåå¦å ¶å¼å¤§æ¼array.length - startï¼ä¹å°±æ¯deleteCount大æ¼startç®èµ·çå©é¤å ç´ æ¸éï¼ï¼åææå¾startéå§å°é£å䏿å¾ä¸åå ç´ é½æè¢«åªé¤ãè¥deleteCountçº 0 ææ¯è² æ¸ï¼å䏿æå ç´ è¢«åªé¤ã å æ¤ï¼ä½ æè©²çµ¦å®è³å°ä¸å欲å å ¥çæ°å ç´ ï¼è¦ä¸æ¹èªªæï¼ã item1, item2, ...鏿æ§-
å¾
startéå§ï¼è¦å å ¥å°é£åçå ç´ ã å¦æä½ æ²ææå®ä»»ä½å ç´ ï¼åsplice()åªæä¾ç §startådeleteCountåªé¤é£åçå ç´ ã
åå³å¼
ä¸åå å«è¢«åªé¤çå ç´ é£åãå¦æåªæä¸åå ç´ è¢«åªé¤ï¼ä¾èæ¯åå³å å«ä¸åå ç´ çé£åã åè¥æ²æå ç´ è¢«åªé¤ï¼åæåå³ç©ºé£åã
說æ
å¦æä½ æå ¥çå ç´ æ¸éååªé¤çæ¸éä¸åï¼ååå³çé£åé·åº¦ä¹æååå çä¸åã
ç¯ä¾
>å¾ç´¢å¼ 2 çä½ç½®éå§ï¼åªé¤ 0 åå ç´ ä¸¦æå ¥ãdrumã
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2, 0, "drum");
// myFish çº ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed çº [], æ²æå
ç´ è¢«åªé¤
å¾ç´¢å¼ 3 çä½ç½®éå§ï¼åªé¤ 1 åå ç´
var myFish = ["angel", "clown", "drum", "mandarin", "sturgeon"];
var removed = myFish.splice(3, 1);
// removed çº ["mandarin"]
// myFish çº ["angel", "clown", "drum", "sturgeon"]
å¾ç´¢å¼ 2 çä½ç½®éå§ï¼åªé¤ 1 åå ç´ ä¸¦æå ¥ãtrumpetã
var myFish = ["angel", "clown", "drum", "sturgeon"];
var removed = myFish.splice(2, 1, "trumpet");
// myFish çº ["angel", "clown", "trumpet", "sturgeon"]
// removed çº ["drum"]
å¾ç´¢å¼ 0 çä½ç½®éå§ï¼åªé¤ 2 åå ç´ ä¸¦æå ¥ãparrotãããanemoneãåãblueã
var myFish = ["angel", "clown", "trumpet", "sturgeon"];
var removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
// myFish çº ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed çº ["angel", "clown"]
å¾ç´¢å¼ 2 çä½ç½®éå§ï¼åªé¤ 2 åå ç´
var myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"];
var removed = myFish.splice(myFish.length - 3, 2);
// myFish çº ["parrot", "anemone", "sturgeon"]
// removed çº ["blue", "trumpet"]
å¾ç´¢å¼ -2 çä½ç½®éå§ï¼åªé¤ 1 åå ç´
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(-2, 1);
// myFish çº ["angel", "clown", "sturgeon"]
// removed çº ["mandarin"]
å¾ç´¢å¼ 2 çä½ç½®éå§ï¼åªé¤ææå ç´ ï¼å«ç´¢å¼ 2ï¼
var myFish = ["angel", "clown", "mandarin", "sturgeon"];
var removed = myFish.splice(2);
// myFish çº ["angel", "clown"]
// removed çº ["mandarin", "sturgeon"]
è¦ç¯
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-array.prototype.splice > |