Baseline 2023
Newly available
Array
å®ä¾ç toSpliced()
æ¹æ³æ¯ splice()
æ¹æ³çå¤å¶çæ¬ãå®è¿åä¸ä¸ªæ°æ°ç»ï¼å¹¶å¨ç»å®çç´¢å¼å¤å é¤å/ææ¿æ¢äºä¸äºå
ç´ ã
toSpliced(start)
toSpliced(start, deleteCount)
toSpliced(start, deleteCount, item1)
toSpliced(start, deleteCount, item1, item2, itemN)
åæ°
start
ä» 0 å¼å§è®¡ç®çç´¢å¼ï¼è¡¨ç¤ºè¦å¼å§æ¹åæ°ç»çä½ç½®ï¼å®ä¼è¢«è½¬æ¢ä¸ºæ´æ°ã
start < 0
ï¼å仿°ç»æ«å°¾å¼å§è®¡æ°ï¼ä½¿ç¨ start + array.length
ãstart < -array.length
æè
çç¥äº start
ï¼åä½¿ç¨ 0
ãstart >= array.length
ï¼ä¸ä¼å é¤ä»»ä½å
ç´ ï¼ä½è¯¥æ¹æ³å°è¡¨ç°ä¸ºæ·»å å
ç´ ç彿°ï¼æ·»å æä¾çææå
ç´ ãdeleteCount
å¯é
ä¸ä¸ªæ´æ°ï¼æç¤ºæ°ç»ä¸è¦ä» start
å é¤çå
ç´ æ°éã
妿 deleteCount
被çç¥äºï¼æè
妿å®çå¼å¤§äºæçäºç± start
æå®çä½ç½®å°æ°ç»æ«å°¾çå
ç´ æ°éï¼å°ä¼å é¤ä» start
å°æ°ç»æ«å°¾çææå
ç´ ã使¯ï¼å¦æä½ æ³è¦ä¼ éä»»ä½ itemN
åæ°ï¼ååºå deleteCount
ä¼ é Infinity
å¼ï¼ä»¥å é¤ start
ä¹åçææå
ç´ ï¼å 为æ¾å¼ç undefined
ä¼è½¬æ¢ä¸º 0
ã
妿 deleteCount
æ¯ 0
æè
è´æ°ï¼åä¸ä¼å é¤å
ç´ ãå¨è¿ç§æ
åµä¸ï¼ä½ åºè¯¥æå®è³å°ä¸ä¸ªæ°å
ç´ ï¼è§ä¸æï¼ã
item1
, â¦, itemN
å¯é
å
ç´ å°ä» start
å¼å§æ·»å å°æ°ç»å½ä¸ã
å¦æä½ æ²¡ææå®ä»»ä½å
ç´ ï¼toSpliced()
åªä¼ä»æ°ç»ä¸å é¤å
ç´ ã
ä¸ä¸ªæ°æ°ç»ï¼ç± start
ä¹åçææå
ç´ ãitem1
ãitem2
ã...ãitemN
ï¼ä»¥å start + deleteCount
ä¹åçææå
ç´ ç»æã
toSpliced()
æ¹æ³ä¸ splice()
类似ï¼å¯ä»¥åæ¶å®æå¤ä¸ªæä½ï¼å¨æ°ç»ä¸ç»å®çç´¢å¼å¼å§ç§»é¤æå®æ°éçå
ç´ ï¼ç¶åå¨ç¸åçç´¢å¼å¤æå
¥ç»å®çå
ç´ ã使¯ï¼å®è¿åä¸ä¸ªæ°æ°ç»ï¼è䏿¯ä¿®æ¹åå§æ°ç»ãå æ¤ï¼æ¤æ¹æ³ä¸ä¼è¿åå·²å é¤çå
ç´ ã
toSpliced()
æ¹æ³ä¸ä¼äº§çç¨çæ°ç»ã妿åå§æ°ç»æ¯ç¨ççï¼å¨æ°æ°ç»ä¸ç©ºæ§½å°ä¼è¢«æ¿æ¢æ undefined
ã
toSpliced()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ã
ä½ å¯ä»¥éè¿ä½¿ç¨ toSpliced()
æ¥å é¤ãæ·»å åæ¿æ¢æ°ç»ä¸çå
ç´ ï¼å¹¶çæä¸ä¸ªæ°çæ°ç»ï¼è¿æ¯ä½¿ç¨ slice()
å concat()
æ´é«æã
const months = ["Jan", "Mar", "Apr", "May"];
// å¨ç´¢å¼ 1 夿·»å ä¸ä¸ªå
ç´
const months2 = months.toSpliced(1, 0, "Feb");
console.log(months2); // ["Jan", "Feb", "Mar", "Apr", "May"]
// ä»ç¬¬ 2 个索å¼å¼å§å é¤ä¸¤ä¸ªå
ç´
const months3 = months2.toSpliced(2, 2);
console.log(months3); // ["Jan", "Feb", "May"]
// å¨ç´¢å¼ 1 å¤ç¨ä¸¤ä¸ªæ°å
ç´ æ¿æ¢ä¸ä¸ªå
ç´
const months4 = months3.toSpliced(1, 1, "Feb", "Mar");
console.log(months4); // ["Jan", "Feb", "Mar", "May"]
// åæ°ç»ä¸ä¼è¢«ä¿®æ¹
console.log(months); // ["Jan", "Mar", "Apr", "May"]
å¨ç¨çæ°ç»ä¸ä½¿ç¨ toSpliced()
toSpliced()
æ¹æ³æ»æ¯ä¼çæä¸ä¸ªå¯éçæ°ç»ã
const arr = [1, , 3, 4, , 6];
console.log(arr.toSpliced(1, 2)); // [1, 4, undefined, 6]
坹鿰ç»å¯¹è±¡è°ç¨ toSpliced()
toSpliced()
æ¹æ³å°ä¼è¯»å this
ç length
屿§ãç¶åï¼å®è¯»åæéçæ´æ°é®å±æ§å¹¶å°å
¶åå
¥æ°æ°ç»ã
const arrayLike = {
length: 3,
unrelated: "foo",
0: 5,
2: 4,
};
console.log(Array.prototype.toSpliced.call(arrayLike, 0, 1, 2, 3));
// [2, 3, undefined, 4]
è§è æµè§å¨å
¼å®¹æ§ åè§
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