2016-04-14 13 views
0

多分正しい検索条件を入れていない可能性があります。なぜなら、私が欲しいものを見つけることができないからですが、私はjavascript 。私は、動的に作成して1つの呼び出しで配列に値を代入しようとしているか、または構文が間違っている可能性があると考えています(私はPHPのバックグラウンドから来ています)。ネストされたjavascript配列またはオブジェクトのキー値を動的に追加または更新する

var array = []; 
array[key][] = value; 
return array; 

私は、既存の配列をループしています、と私はキーに遭遇するたびに、私はそのキーの下に新しい配列にその値を追加します。 array[key]がまだ存在しない場合、私はそれを作成したい。既に存在する場合は、既存のarray[key]に新しい値を追加します。最終結果は次のようになります:

array = [ 
    [key1] = [value1, value2, value3, value4], 
    [key2] = [value1, value2, value3, value4], 
    ... 
    ] 

これは配列である必要はありません。それはオブジェクトにすることができます。以下のように

答えて

1

デモコード:

var array = []; 

function pushToArray(key, value){ 
    var subArray = array[key]; 

    if(typeof subArray == "undefined"){ 
     subArray = []; 
     array[key] = subArray; 
    } 

    subArray.push(value); 
    return subArray; 
} 

pushToArray("key1", "value11"); 
pushToArray("key1", "value12"); 
pushToArray("key2", "value21"); 
pushToArray("key2", "value22"); 

console.log(array); 
+0

ありがとうございます。それが私の必要を満たしているかどうかを確認するために私はそれを歩みましょう。 – Keven

+0

これは基本的に私が必要なものです。ありがとう! – Keven

0

あなたはそれを行うために配列を使用することができますが、それはマップは、あなたが探しているものであるように見えますか?キーはMapのキーとして格納でき、マップのオブジェクトの場合はArrayオブジェクトを格納できます。

このリンクをチェックしてくださいJavascripy Map Object

関連する問題