1

インデックスを指定して JSON に値を割り当てる方法..

次のコードを参照してください。

var jsonVariable = [];
jsonVariable[10] = {1:10};
alert(jsonVariable.toSource());

上記のコードの出力は、 [,,,,,,,,,{1:10}] [10 : {1:10}] です。出力を期待どおりにするためのコーディング方法...簡単に教えてください..

4

4 に答える 4

3

a をインスタンス化し、インデックス 10 の要素を に設定するインデックス演算子 ( []) を使用しました。実際には、次のようなプロパティをインスタンス化して広告する中括弧演算子 ( )を使用したいと考えていました。new array{1: 10}{}new object10: {1:10}

var jsonVariable = {};
jsonVariable[10] = {1:10};
alert(jsonVariable.toSource());

メンバーを に設定するとarray、単純にいくつかのインデックスをスキップすることはできません (10 から始まります)。あなたのインデックスが強制的に作成されるまで、インスタンス化されていないすべてのインデックス。

于 2012-12-12T13:56:26.153 に答える
2

のようにまだ存在しない配列インデックスを指定すると[10]、以前に埋められていないすべてのインデックスが作成されます。ちょうど.push()それ。

var jsonVariable = [];
// A numeric property should be a string "1", though the browser will probably forgive you
// Just push the new object onto the array
jsonVariable.push({"1":10});
alert(JSON.stringify(jsonVariable));
// [{1:10}] exactly as you describe

この特定のオブジェクト{1:10}を に配置する必要がある場合は、配列ではなくjsonVariable[10]オブジェクトにします。{}

var jsonVariable = {};
jsonVariable["10"] = {"1": 10};
alert(JSON.stringify(jsonVariable));
// {"10":{"1":10}}
于 2012-12-12T13:55:21.497 に答える
1

必要なのは次のとおりだと思います。

var jsonVariable = [];
for(var i=0;i<10;i++){
    var temp = {};
    temp[i] = {'Property' : "Data"}
    jsonVariable.push(temp);
}
console.log( JSON.stringify(jsonVariable));  
于 2012-12-12T14:03:29.160 に答える
0

これを試して:

var jsonVariable = []; 
jsonVariable[10] = {1:10};  
function isNotEmpty(element, index, array) {
  return array[index];
};
jsonVariable = jsonVariable.filter(isNotEmpty);

alert(jsonVariable.toSource());
于 2012-12-12T14:09:03.947 に答える