Baseline Widely available
splice()
㯠Array
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ããã®å ´ (in-place) ã§æ¢åã®è¦ç´ ãåãé¤ããããç½®ãæããããæ°ããè¦ç´ ã追å ããããããã¨ã§ãé
åã®å
容ã夿´ãã¾ãã
å
ã®é
åã夿´ããã«ãããé¨åãé¤å»ãããç½®ãæãããããæ°ããé
åã使ããã«ã¯ toSpliced()
ã使ç¨ãã¦ãã ãããé
åã夿´ããã«é
åã®ä¸é¨ã«ã¢ã¯ã»ã¹ããã«ã¯ slice()
ãåç
§ãã¦ãã ããã
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"]
æ§æ
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2)
splice(start, deleteCount, item1, item2, /* â¦, */ itemN)
弿°
start
é åã®å¤æ´ãå§ããä½ç½®ã®ã¼ãããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã
start < 0
ã®å ´åã start + array.length
ã使ç¨ããã¾ããstart < -array.length
ã®å ´å㯠0
ã使ç¨ããã¾ããstart >= array.length
ã®å ´åãè¦ç´ ã¯åé¤ããã¾ããããã¡ã½ããã¯è¿½å 颿°ã¨ãã¦åä½ããæå®ãããæ°ã ãè¦ç´ ã追å ãã¾ããstart
ãçç¥ãããå ´åï¼ãã㦠splice()
ã弿°ãªãã§å¼ã³åºãããå ´åï¼ãä½ãåé¤ããã¾ããããã㯠undefined
ãæ¸¡ã㨠0
ã«å¤æãããã®ã¨ã¯ç°ãªãã¾ããdeleteCount
çç¥å¯
é
åã® start
ã®ä½ç½®ããåãé¤ãå¤ãè¦ç´ ã®åæ°ãç¤ºãæ´æ°ã§ãã
deleteCount
ãçç¥ãããå ´åãã¾ã㯠deleteCount
ã®å¤ã start
ã§æå®ããä½ç½®ããå¾ã®è¦ç´ æ°ä»¥ä¸ã®å ´åã start
ããé
åã®æ«å°¾ã¾ã§ã®ãã¹ã¦ã®è¦ç´ ãåé¤ããã¾ãããã ããä»»æã® itemN
弿°ã渡ãããå ´åã¯ã start
ããå¾ã®è¦ç´ ããã¹ã¦åé¤ããããã« deleteCount
ã¨ã㦠Infinity
ãæ¸¡ãå¿
è¦ãããã¾ããæç¤ºçã« undefined
ãæ¸¡ãã¨ã夿ãã㦠0
ã«ãªãããã§ãã
deleteCount
ã 0
ã¾ãã¯è² ã®æ°ã®å ´åãã©ã®è¦ç´ ãåãé¤ããã¾ããããã®å ´åãå°ãªãã¨ã 1 ã¤ã®æ°ããè¦ç´ ãæå®ããå¿
è¦ãããã¾ãï¼ä»¥ä¸åç
§ï¼ã
item1
, â¦, itemN
çç¥å¯
é
åã«è¿½å ããè¦ç´ ã§ãstart
ããå§ã¾ãã¾ãã
è¦ç´ ãæå®ããªãã£ãå ´åãsplice()
ã¯åã«é
åããè¦ç´ ãåãé¤ãã¾ãã
åãé¤ãããè¦ç´ ãå«ãé åã§ãã
è¦ç´ ã 1 ã¤ã ãåãé¤ãããå ´åã¯ãè¦ç´ æ° 1 ã®é åãè¿ããã¾ãã
è¦ç´ ãåãé¤ãããªãã£ãå ´åã空ã®é åãè¿ããã¾ãã
解説splice()
ã¡ã½ããã¯å¤æ´ã¡ã½ããã§ãã this
ã®å
容ã夿´ãã¾ããæå®ããæ¿å
¥ããè¦ç´ æ°ã¨é¤å»ãããè¦ç´ æ°ãç°ãªãå ´åãé
åã® length
ã夿´ããã¾ããåæã«ã [Symbol.species]
ã使ç¨ãã¦ãè¿ãæ°ããé
åã¤ã³ã¹ã¿ã³ã¹ã使ãã¾ãã
åé¤ãããé¨åãçé
åã®å ´åã splice()
ãè¿ãé
åãçé
åã«ãªãã対å¿ããã¤ã³ããã¯ã¹ã¯ç©ºã®ã¹ãããã«ãªãã¾ãã
splice()
ã¡ã½ããã¯æ±ç¨çã§ãããã®ã¡ã½ãã㯠this
å¤ã« length
ããããã£ã¨æ´æ°ãã¼ã®ããããã£ããããã¨ã ããæå¾
ãã¾ããæååãé
å風ã§ãããæååã¯ä¸å¤ãªã®ã§ããã®ã¡ã½ãããé©ç¨ããã®ã«ã¯é©ãã¦ãã¾ããã
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2, 0, "drum");
// myFish 㯠["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed 㯠[] ã§ãããã©ã®è¦ç´ ãåãé¤ããã¦ããªã
2 ã®ä½ç½®ã®æåãã 0 åã®è¦ç´ ãåé¤ãã¦ã"drum" 㨠"guitar" ãæ¿å
¥
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2, 0, "drum", "guitar");
// myFish 㯠["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"]
// removed 㯠[] ã§ãããã©ã®è¦ç´ ãåãé¤ããã¦ããªã
0ï¼ã¼ãï¼åã®è¦ç´ ã 0 ã®ä½ç½®ããåé¤ãã¦ã"angel" ãæ¿å
¥
splice(0, 0, ...elements)
ã¯ãunshift()
ã®ããã«é
åã®å
é ã«è¦ç´ ãæ¿å
¥ãã¾ãã
const myFish = ["clown", "mandarin", "sturgeon"];
const removed = myFish.splice(0, 0, "angel");
// myFish 㯠["angel", "clown", "mandarin", "sturgeon"]
// ã¢ã¤ãã ã¯åé¤ãããªã
0ï¼ã¼ãï¼åã®è¦ç´ ãæ«å°¾ã®ä½ç½®ããåé¤ãã¦ã"sturgeon" ãæ¿å
¥
splice(array.length, 0, ...elements)
ã¯ãpush()
ã®ããã«é
åã®æ«å°¾ã«è¦ç´ ãæ¿å
¥ãã¾ãã
const myFish = ["angel", "clown", "mandarin"];
const removed = myFish.splice(myFish.length, 0, "sturgeon");
// myFish 㯠["angel", "clown", "mandarin", "sturgeon"]
// ã¢ã¤ãã ã¯åé¤ãããªã
3 ã®ä½ç½®ãã 1 ã¤åãé¤ã
const myFish = ["angel", "clown", "drum", "mandarin", "sturgeon"];
const removed = myFish.splice(3, 1);
// myFish 㯠["angel", "clown", "drum", "sturgeon"]
// removed 㯠["mandarin"]
2 ã®ä½ç½®ãã 1 ã¤åãé¤ã㦠"trumpet" ãæ¿å
¥
const myFish = ["angel", "clown", "drum", "sturgeon"];
const removed = myFish.splice(2, 1, "trumpet");
// myFish 㯠["angel", "clown", "trumpet", "sturgeon"]
// removed 㯠["drum"]
0 ã®ä½ç½®ãã 2 ã¤åãé¤ãããã㸠"parrot" 㨠"anemore" 㨠"blue" ãæ¿å
¥
const myFish = ["angel", "clown", "trumpet", "sturgeon"];
const removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
// myFish 㯠["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed 㯠["angel", "clown"]
2 ã®ä½ç½®ãã 2 ã¤åãé¤ã
const myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"];
const removed = myFish.splice(2, 2);
// myFish 㯠["parrot", "anemone", "sturgeon"]
// removed 㯠["blue", "trumpet"]
-2 ã®ä½ç½®ãã 1 ã¤åãé¤ã
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(-2, 1);
// myFish 㯠["angel", "clown", "sturgeon"]
// removed 㯠["mandarin"]</pre>
2 ã®ä½ç½®ãããã¹ã¦ã®è¦ç´ ãåãé¤ã
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2);
// myFish 㯠["angel", "clown"]
// removed 㯠["mandarin", "sturgeon"]
çé
åã«å¯¾ãã splice() ã®ä½¿ç¨
splice()
ã¡ã½ããã¯çé
åã§ãããã¨ãç¶æãã¾ãã
const arr = [1, , 3, 4, , 6];
console.log(arr.splice(1, 2)); // [empty, 3]
console.log(arr); // [1, 4, empty, 6]
é
å以å¤ã®ãªãã¸ã§ã¯ãã«å¯¾ãã splice() ã®å¼ã³åºã
splice()
ã¡ã½ãã㯠this
ã® length
ããããã£ãèªã¿è¾¼ã¿ã¾ããããã¦ãå¿
è¦ã«å¿ãã¦æ´æ°ãã¼ã®ããããã£ã¨ length
ããããã£ãæ´æ°ãã¾ãã
const arrayLike = {
length: 3,
unrelated: "foo",
0: 5,
2: 4,
};
console.log(Array.prototype.splice.call(arrayLike, 0, 1, 2, 3));
// [ 5 ]
console.log(arrayLike);
// { '0': 2, '1': 3, '3': 4, length: 4, unrelated: 'foo' }
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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