Array.prototype.toSpliced()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2023ë 7ì.
Arrayì toSpliced() ë©ìëë splice()ì ëìëë ë³µì¬ ë©ìëì
ëë¤. ì´ ë©ìëë 주ì´ì§ ì¸ë±ì¤ìì ì¼ë¶ ììê° ì ê±°ëê±°ë êµì²´ë ìë¡ì´ ë°°ì´ì ë°íí©ëë¤.
구문
toSpliced(start)
toSpliced(start, deleteCount)
toSpliced(start, deleteCount, item1)
toSpliced(start, deleteCount, item1, item2)
toSpliced(start, deleteCount, item1, item2, /* â¦, */ itemN)
매ê°ë³ì
start-
ë°°ì´ì 0ë¶í° ììíë ì¸ë±ì¤ë¡ ë³ê²½ëë©°, ì ìë¡ ë³íë©ëë¤..
- ìì ì¸ë±ì¤ë ë°°ì´ì ëììë¶í° ì¹´ì´í¸ë©ëë¤. ë§ì½
start < 0ì¸ ê²½ì°,start + array.lengthê° ì ì©ë©ëë¤. start < -array.lengthì´ê±°ëstartê° ìëµë ê²½ì°,0ì´ ì ì©ë©ëë¤.start >= array.lengthì¸ ê²½ì° ììë ìì ëì§ ìì§ë§, ë©ìëë ìì를 ì¶ê°íë ì¶ê° í¨ìì²ë¼ ìëí©ëë¤.
- ìì ì¸ë±ì¤ë ë°°ì´ì ëììë¶í° ì¹´ì´í¸ë©ëë¤. ë§ì½
deleteCountOptional-
startììë¶í° ì ê±°í ë°°ì´ì ììì ê°ì를 ëíë´ë ìì ëë¤.ë§ì½
deleteCountê° ìëµëê±°ë,deleteCountê°startì¸ë±ì¤ ë¤ì ììì ê°ìë³´ë¤ í¬ê±°ë ê°ì¼ë©´ ë°°ì´ì ììë¶í° ëê¹ì§ 모ë ììê° ìì ë©ëë¤. ê·¸ë¬ëitemN매ê°ë³ì를 ì ë¬íë ¤ë©´Infinity를deleteCountë¡ ì ë¬íì¬startì¸ë±ì¤ ë¤ì 모ë ìì를 ìì í´ì¼ í©ëë¤. ìëíë©´undefinedë 0ì¼ë¡ ë³íë기 ë문ì ëë¤.deleteCountê°0ì´ê±°ë ììë¼ë©´, ììê° ì ê±°ëì§ ììµëë¤. ì´ ê²½ì° ì ìì를 íë ì´ì ì§ì í´ì¼ í©ëë¤. (ìë 참조). item1, â¦,itemNOptional-
startë¶í° ììíì¬ ë°°ì´ì ì¶ê°í ììì ëë¤.ë§ì½ ëª íí ìì를 ì§ì íì§ ìì¼ë©´,
toSpliced()ë ë°°ì´ìì ììë§ ì ê±°í©ëë¤.
ë°í ê°
start ì ì 모ë ìì, item1, item2, â¦, itemN ë° start + deleteCount ì´í 모ë ììë¡ êµ¬ì±ë ìë¡ì´ ë°°ì´ì
ëë¤.
ì¤ëª
splice()ì ë¹ì·í toSpliced()ë©ìëë ì¬ë¬ ìì
ì í ë²ì ìíí©ëë¤. ì§ì í ì¸ë±ì¤ìì ììíì¬ ë°°ì´ìì ì§ì í ìì ìì를 ì ê±°í ë¤ì ëì¼í ì¸ë±ì¤ì ì§ì ë ìì를 ì½ì
í©ëë¤. ê·¸ë¬ë ìë ë°°ì´ì ìì íë ëì ìë¡ì´ ë°°ì´ì ë°íí©ëë¤. ë°ë¼ì ìì ë ììë ì´ ë©ìëìì ë°íëì§ ììµëë¤.
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ë¶í° 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]
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-array.prototype.tospliced> |