【发布时间】:2016-10-03 15:31:35
【问题描述】:
我正在尝试复制一个数组,但是我不断遇到问题。我尝试了 2 种不同的方法,但都没有奏效。
第一次尝试:
function classA(id, arrayFrom, arrayTo)
{
this.id = id;
this.from = arrayFrom.slice(0);
this.to = arrayTo.slice(0);
};
输出:
未捕获的类型错误:arrayFrom.slice 不是函数
第二次尝试:
function classA(id, arrayFrom, arrayTo)
{
this.id = id;
this.from = {arrayFrom[0], arrayFrom[1], arrayFrom[2]};
this.to = {arrayTo[0], arrayTo[1], arrayTo[2]};
};
输出:
Uncaught SyntaxError: Unexpected token [
【问题讨论】:
-
无用的细节。与对该函数的调用共享代码。
-
方法很好,无论你传递给它们什么,它们都不是数组
-
arrayFrom不是一个数组。请告诉我们它到底是什么。 -
顺便说一句,这些函数都不会复制数组^^
-
@SteevePitis slice(0),将复制一个数组。它不会做的是深拷贝,但对于整数等原始类型来说就可以了。
标签: javascript arrays