0

形式で配列を設定しようとしています。これは、別のライブラリが使用する特定の形式であり、正確でなければなりません。

var d1 = [[1,3], [2,7], [3,5], [4,6], [5,5]];

「y」値に使用したいデータベースがあります。ループを使用して値をこの特定の形式にするにはどうすればよいですか? これに似たもの (ただし、これは機能しないため、これではありません): var x, y, d1 =[]; for (i=0; i

どんな考えでも大歓迎です。

編集

あなたのアドバイスを受けて、配列を適切に初期化し、i++ を i+1 に変更しました。今私が使用する場合console.log(d1);

私はこれを得る:

[Array[2], Array[2], Array[2]]
4

2 に答える 2

2

d1falty も削除すると、配列を開始するだけでコードが機能するはずです,iまた、ループの反復ごとに 1 回、割り当て時に 1 回、2 回インクリメントしています。x

var x, y, d1 = [];//assign empty array
for (i=0; i<array.length; i++)//leave this increment as is
{
    x= i+1;//don't increment i, just assign i + 1
    y=array[i];
    d1.push([x, y]);//<== remove ,
}

に空の配列を割り当てないことd1で、ステートメントd1.push([x,y]);は に変換されます:undefined.push([x,y])もちろん、これは間違っています。

も宣言しiていないため、暗黙のグローバルである可能性があるため、追加します

var x, y, i, d1 = [];

console.log(d1.toString)実際の出力を表示するには、配列を平坦化する を使用する代わりに、次のいずれかを使用します。

console.log(d1);
//or to get a string:
console.log(JSON.stringify(d1));
于 2013-07-26T13:14:00.663 に答える