Baseline Widely available
copyWithin()
㯠Array
ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ããã®é
åã®ä¸é¨ãé
åå
ã®ä»ã®å ´æã«ã·ã£ãã¼ã³ãã¼ãããã®é
åãé·ãã夿´ããã«è¿ãã¾ãã
const array1 = ["a", "b", "c", "d", "e"];
// Copy to index 0 the element at index 3
console.log(array1.copyWithin(0, 3, 4));
// Expected output: Array ["d", "b", "c", "d", "e"]
// Copy to index 1 all elements from index 3 to the end
console.log(array1.copyWithin(1, 3));
// Expected output: Array ["d", "d", "e", "d", "e"]
æ§æ
copyWithin(target, start)
copyWithin(target, start, end)
弿°
target
並ã³ã®ã³ãã¼å
ã¨ãªã 0 ããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãããã㯠start
ã«ããè¦ç´ ãã³ãã¼ãããå ´æã«å¯¾å¿ããstart
ãã end
ã¾ã§ã®ãã¹ã¦ã®è¦ç´ ãå¾ç¶ã®ã¤ã³ããã¯ã¹ã«ã³ãã¼ããã¾ãã
target < 0
ã®å ´åã¯ã target + array.length
ã使ç¨ããã¾ããtarget < -array.length
ã®å ´åã¯ã 0
ã使ç¨ããã¾ããtarget >= array.length
ã®å ´åã¯ãä½ãã³ãã¼ããã¾ãããtarget
ãæ£è¦åå¾ã® start
ã®å¾ã«ä½ç½®ãã¦ããå ´åãã³ãã¼ã¯ array.length
ã®æ«å°¾ã¾ã§ããè¡ããã¾ããï¼è¨ãæããã°ã copyWithin()
ã¯é
åãæ¡å¼µãã¾ããï¼ãstart
è¦ç´ ã®ã³ãã¼å ã®å§ã¾ãã表ã 0 ããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã
start < 0
ã®å ´åã¯ã start + array.length
ã使ç¨ããã¾ããstart < -array.length
ã®å ´åã¯ã 0
ã使ç¨ããã¾ããstart >= array.length
ã®å ´åã¯ãä½ãã³ãã¼ããã¾ãããend
çç¥å¯
è¦ç´ ã®ã³ãã¼å
ã®æ«å°¾ã表ã 0 ããå§ã¾ãã¤ã³ããã¯ã¹ã§ãæ´æ°ã«å¤æããã¾ãã copyWithin()
ã®ã³ãã¼ã¯ end
ã®æåã¾ã§è¡ãã¾ãã
end < 0
ã®å ´åã¯ã end + array.length
ã使ç¨ããã¾ããend < -array.length
ã®å ´åã¯ã 0
ã使ç¨ããã¾ããend >= array.length
ã®å ´åãã¾ã㯠end
ãçç¥ãããå ´åã¯ã array.length
ã使ç¨ãããæ«å°¾ã¾ã§ã®ãã¹ã¦ã®è¦ç´ ãã³ãã¼ããã¾ããend
ã start
ãããåãåãä½ç½®ã«ãªã£ãã¨ãã¯ãä½ãã³ãã¼ããã¾ããã夿´ãããé åã§ãã
解説copyWithin()
ã¡ã½ãã㯠C ã C++ ã® memmove
ã®ãããªåãããã Array
ã®ãã¼ã¿ãç§»åããããã®é«ãããã©ã¼ãã³ã¹ã®ã¡ã½ããã§ããããã¯ç¹ã« TypedArray
ã®ååã¡ã½ããã«å½ã¦ã¯ã¾ãã¾ãããã¼ã¿ã®ä¸¦ã³ãã³ãã¼ããè²¼ãä»ããããå¦çãä¸å½ä»¤ã§è¡ããã¾ããã³ãã¼å
ã¨è²¼ãä»ãå
ã§é åãéãªã£ã¦ããã¨ãã¦ããè²¼ãä»ãå
ã®ä¸¦ã³ã¯ã³ãã¼ãããå¤ã«ãªãã¾ãã
undefined
ã¯æ´æ°ã«å¤æããã㨠0
ã«ãªãããã start
弿°ãçç¥ãã㨠0
ãæ¸¡ããã®ã¨åã广ããããé
åå
¨ä½ã対象ã¨ããä½ç½®ã«ã³ãã¼ããã¾ãï¼å³ã®å¢çãåãåãããå·¦ã®å¢çãè¤è£½ãããå³ã·ããã¨åãã§ãï¼ããã®åä½ã¯ã³ã¼ãã®èªã¿æãæ··ä¹±ãããå¯è½æ§ãããã®ã§ã代ããã« start
ã¨ã㦠0
ãæç¤ºçã«æ¸¡ãã¦ãã ããã
console.log([1, 2, 3, 4, 5].copyWithin(2));
// [1, 2, 1, 2, 3]; ãã¹ã¦ã®è¦ç´ ãå³ã« 2 ã¤ããã
copyWithin()
ã¯å¤æ´ãè¡ãã¡ã½ããã§ãã this
ã®é·ãã¯å¤æ´ãã¾ãããã this
ã®å
容ã夿´ããå¿
è¦ã«å¿ãã¦æ°ããããããã£ã使ãã¾ãã
copyWithin()
ã¡ã½ããã¯ç©ºã®ã¹ããããä¿æãã¾ããã³ãã¼å
ã®ç¯å²ãçé
åã§ãã£ãå ´åã空ã®ã¹ãããã«å¯¾å¿ããã¤ã³ããã¯ã¹ã¯åé¤ããã空ã®ã¹ãããã«ãªãã¾ãã
copyWithin()
ã¡ã½ããã¯æ±ç¨çã§ãããã®ã¡ã½ãã㯠this
ã®å¤ã« length
ããããã£ã¨æ´æ°ã®ãã¼ãæã£ãããããã£ããããã¨ã ããæ±ãã¾ããæååãé
å風ãªãã¸ã§ã¯ãã§ãããæååã¯ä¸å¤ãªã®ã§ããã®ã¡ã½ãããé©ç¨ããã®ã¯é©ãã¦ãã¾ããã
console.log([1, 2, 3, 4, 5].copyWithin(0, 3));
// [4, 5, 3, 4, 5]
console.log([1, 2, 3, 4, 5].copyWithin(0, 3, 4));
// [4, 2, 3, 4, 5]
console.log([1, 2, 3, 4, 5].copyWithin(-2, -3, -1));
// [1, 2, 3, 3, 4]
çé
åã«å¯¾ãã copyWithin() ã®ä½¿ç¨
copyWithin()
ã¯ç©ºã®ã¹ããããåºãã¾ãã
console.log([1, , 3].copyWithin(2, 1, 2)); // [1, empty, empty]
é
åã§ã¯ãªããªãã¸ã§ã¯ãã«å¯¾ãã copyWithin() ã®å¼ã³åºã
copyWithin()
ã¡ã½ãã㯠this
ã® length
ããããã£ãèªã¿è¾¼ãã§ãé¢ä¿ããæ´æ°ã®ã¤ã³ããã¯ã¹ãæä½ãã¾ãã
const arrayLike = {
length: 5,
3: 1,
};
console.log(Array.prototype.copyWithin.call(arrayLike, 0, 3));
// { '0': 1, '3': 1, length: 5 }
console.log(Array.prototype.copyWithin.call(arrayLike, 3, 1));
// { '0': 1, length: 5 }
// ã³ãã¼å
ã空ã®ã¹ãããã§ããããã '3' ããããã£ã¯åé¤ããã
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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