-1

我有一个名为 graphData 的对象:

对象数据

我可以通过 graphData.data 访问数据。这个对象是一个 48 个点的数组,其中是一个 2 个点(毫秒,值)的数组。我想遍历这 48 个点并创建一个相同类型但使用新数据的对象。我希望这是有道理的。

谢谢

4

1 回答 1

2

我可以通过 graphData.data 访问数据。

从屏幕截图中可以graphData.data[0].data看出,这就是 48 个元素的数组。graphData.data看起来像一个包含一个对象(可能是一个 DOM 元素?)的单元素数组,该对象具有一个data属性,即 48 元素数组。

听起来你想复制数组。如果是这样,这很容易:

var newArray = graphData.data[0].data.slice(0);

这为您提供了数组的浅表副本。请注意,由于数组似乎包含数组,因此两个数组都将引用相同的数组对象。(例如,newArray[0]指向与 相同的数组对象graphData.data[0].data[0],因此如果您修改该数组,无论您使用哪个引用来获取它,您都会看到修改。)

或者,如果您需要做一些更复杂的事情(也许还需要复制包含的数组),循环遍历数组很简单(您有很多选项),就像创建新的一样:

var data = graphData.data[0].data;
var newArray = [];
var index;
for (index = 0; index < data.length; ++index) {
    // For example, copying the contained array
    newArray[index] = data[index].slice(0);
}
于 2013-07-21T08:39:21.230 回答