これはかなり簡単なはずですが、ここで少し混乱しています。このオブジェクトを埋めたい:
var obj = { 2:some1, 14:some2, three:some3, XX:some4, five:some5 };
しかし、最初はこれがあります:
var obj = {};
for を作成していますが、追加する方法がわかりません。push() を使用していましたが、機能していません。何か助けはありますか?
これはかなり簡単なはずですが、ここで少し混乱しています。このオブジェクトを埋めたい:
var obj = { 2:some1, 14:some2, three:some3, XX:some4, five:some5 };
しかし、最初はこれがあります:
var obj = {};
for を作成していますが、追加する方法がわかりません。push() を使用していましたが、機能していません。何か助けはありますか?
.push()
インデックスの代わりにカスタム キーを使用するため、javascript OBJECT を使用することはできません。これを行う方法は、次のようになります。
var obj = {};
for (var k = 0; k<10; k++) {
obj['customkey'+k] = 'some'+k;
}
これは以下を返します:
obj {
customkey0 : 'some0',
customkey1 : 'some1',
customkey2 : 'some2',
...
}
array:['some1','some2']
は基本的に and object: に似ていることに注意
してください。{
0 : 'some1',
1 : 'some2'
}
ここで、オブジェクトは「インデックス」(0、1 など) を STRING キーで置き換えます。お役に立てれば。
push()
配列で使用するためのものですが、オブジェクトを作成しています。
オブジェクトにプロパティを追加するには、いくつかの方法があります。
obj.one = some1;
また
obj['one'] = some1;
次のような単純な関数を記述します。
function pushVal(obj, value) {
var index = Object.size(obj);
//index is modified to be a string.
obj[index] = value;
}
次に、コードでオブジェクトに値を追加する場合は、次のように呼び出すだけです。
for(var i=0; i<someArray.length; i++) {
pushVal(obj, someArray[i]);
}
私が使用したサイズ関数については、こちらを参照してください。for ループからインデックスを使用することは可能ですが、この 1 つのオブジェクトに複数の配列を追加する場合は、私の方法で競合するインデックスを回避できます。
編集
オブジェクトを作成するために、質問の例でキーを変更したことを確認すると、次を使用できます。
function pushVal(obj, value, key) {
//index is modified to be a string.
obj[key] = value;
}
or
obj[key] = value;
キー値をどのように決定するのかわかりません。そのため、その情報がなければ、オブジェクトを再作成するソリューションを作成できません (そのままでは、ランダムに表示されます)。