Javascript - 克隆数组本身

Ale*_*ova 3 javascript arrays clone

我有一个数组["0","1","2"],我需要创建使其成为
["0","1","2","0","1","2"的函数].我写了克隆函数:

arr = [0, 1, 2];
arr.clone = function() {
    var b = [];
    for (var i = 0; i < arr.length; i++) {
        b.push(arr[i]);
    }
    var c = b.concat(b);
    return c;
}
arr.clone();
Run Code Online (Sandbox Code Playgroud)

我做得对吗?也许有更好或更短的方法克隆元素?

Fré*_*idi 6

您只需要自己使用concat(),因为它构建了一个新数组:

var arr = [0, 1, 2];
arr = arr.concat(arr);  // [0, 1, 2, 0, 1, 2]
Run Code Online (Sandbox Code Playgroud)


Tan*_*han 5

const arr = [0, 1, 2]
const combinedOne = [ ...arr, ...arr]
Run Code Online (Sandbox Code Playgroud)

在 es6 中,我们可以使用展开运算符。