-1

私はgraphDataと呼ばれるオブジェクトを持っています:

オブジェクト データ

graphData.data でデータにアクセスできます。このオブジェクトは 48 ポイントの配列で、そのうち 2 ポイント (ミリ秒、値) の配列です。これらの 48 ポイントをループして、同じタイプのオブジェクトを新しいデータで作成したいと考えています。これが理にかなっていることを願っています。

ありがとう

4

1 に答える 1

2

graphData.data でデータにアクセスできます。

graphData.data[0].dataスクリーンショットから、48 要素の配列のように見えます。48要素の配列でgraphData.dataあるプロパティを持つオブジェクト(おそらくDOM要素?)を含む1要素の配列のように見えます。data

配列をコピーしたいようです。もしそうなら、それは簡単です:

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 に答える