Array对象方法(四)concat/copyWithin

269 阅读1分钟

concat

作用:合并多个数组并返回,不会改变数组内部元素

数组的值合并

var alpha = ['a', 'b', 'c'];
var num = [1, 2, 3];
console.log(alpha.concat(num)); // [ "a", "b", "c", 1, 2, 3 ]

连接多个数组

var num1 = [1, 2, 3], num2 = [4, 5, 6], num3 = [7, 8, 9];
var nums = num1.concat(num2, num3);
console.log(nums); // [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
console.log(num1); // [ 1, 2, 3 ]

合并值

var age = [10, 11, 12];
var ageArr = age.concat(20, [21, 22]);
console.log(ageArr); // [ 10, 11, 12, 20, 21, 22 ]

copyWithin

作用:浅拷贝,将一个数组内部拷贝出来一个并覆盖某一部分。不会改变数组

参数解释:第一个参数表示会从哪里开始进行覆盖,第二个参数表示要复制的起始位置,第三个参数表示复制的结束位置

let arr = [1, 2, 3, 4, 5, 6];
// 从0开始,把2-4 其实就是第2、3个数值放置到0、1的位置
console.log(arr.copyWithin(0, 2, 4)); // [3, 4, 3, 4, 5, 6]

负数表示从末尾开始,-x表示倒数x位

let arr1 = [1, 2, 3, 4, 5];
console.log(arr1.copyWithin(-2, -3, -1)); // [ 1, 2, 3, 3, 4 ]