JS: Array.prototype.copyWithin
New in JS2015.
arrayX.copyWithin(at, start)
-
- Take a subarray that began at index start to end, copy them to starting at the index at, override the original values.
- Return the changed array.
- Original is modified
console.log([0, 1, 2, 3, 4, 5].copyWithin(0, 1)); // [ 1, 2, 3, 4, 5, 5 ] console.log([0, 1, 2, 3, 4, 5].copyWithin(0, 2)); // [ 2, 3, 4, 5, 4, 5 ] console.log([0, 1, 2, 3, 4, 5].copyWithin(0, 3)); // [ 3, 4, 5, 3, 4, 5 ]
arrayX.copyWithin(at, start , end)
-
to index end but not include it.
console.log([0, 1, "x2", "x3", 4].copyWithin(0, 2, 4)); // [ "x2", "x3", "x2", "x3", 4 ] console.log([0, 1, "x2", "x3", 4].copyWithin(1, 2, 4)); // [ 0, "x2", "x3", "x3", 4 ] console.log([0, 1, "x2", "x3", 4].copyWithin(2, 2, 4)); // [ 0, 1, "x2", "x3", 4 ] console.log([0, 1, "x2", "x3", 4].copyWithin(3, 2, 4)); // [ 0, 1, "x2", "x2", "x3" ]
More examples
console.log([0, 1, 2, 3].copyWithin(0, 0)); // [ 0, 1, 2, 3] console.log([0, 1, 2, 3].copyWithin(1, 0)); // [ 0, 0, 1, 2] console.log([0, 1, 2, 3].copyWithin(2, 0)); // [ 0, 1, 0, 1] console.log([0, 1, 2, 3].copyWithin(3, 0)); // [ 0, 1, 2, 0] console.log([0, 1, 2, 3].copyWithin(4, 0)); // [ 0, 1, 2, 3]
console.log([0, 1, 2, 3, 4, 5].copyWithin(0, 1)); // [ 1, 2, 3, 4, 5, 5 ] console.log([0, 1, 2, 3, 4, 5].copyWithin(1, 1)); // [ 0, 1, 2, 3, 4, 5 ] console.log([0, 1, 2, 3, 4, 5].copyWithin(2, 1)); // [ 0, 1, 1, 2, 3, 4 ] console.log([0, 1, 2, 3, 4, 5].copyWithin(3, 1)); // [ 0, 1, 2, 1, 2, 3 ] console.log([0, 1, 2, 3, 4, 5].copyWithin(4, 1)); // [ 0, 1, 2, 3, 1, 2 ]
console.log([0, 1, 2, 3, 4].copyWithin(0, 2, 3)); // [ 2, 1, 2, 3, 4 ] console.log([0, 1, 2, 3, 4].copyWithin(1, 2, 3)); // [ 0, 2, 2, 3, 4 ] console.log([0, 1, 2, 3, 4].copyWithin(2, 2, 3)); // [ 0, 1, 2, 3, 4 ] console.log([0, 1, 2, 3, 4].copyWithin(3, 2, 3)); // [ 0, 1, 2, 2, 4 ] console.log([0, 1, 2, 3, 4].copyWithin(4, 2, 3)); // [ 0, 1, 2, 3, 2 ]