2011-12-19 21 views
10

Allexamples結合配列に新しい要素を追加するのは簡単な方法で、1次元配列だけです - 配列の中に配列があるかどうか、 )。配列結合配列に要素を追加する

私は、次の配列があります。

var test = [ 
      { 
       value: "FirstVal", 
       label: "My Label 1" 
      }, 
      { 
       value: "SecondVal", 
       label: "My Label 2" 
      } 
      ]; 

つの質問:スクラッチから連想配列(はい...オブジェクト)のこの配列を生成する方法を?どのように新しい要素を既存の配列に追加しますか?

javascriptを理解してくれてありがとう。

+1

から等しいテストは_fromのSCRATCH_が何を意味するのでしょうか? – SLaks

+1

これは役に立つかもしれません:[Javascript:連想配列への追加](http://stackoverflow.com/questions/8328508/javascript-adding-to-an-associative-array/8328541#8328541) – jabclab

+0

不正な表現... "ゼロから"単に意味 - 新しい。基本的に空の配列から始めて要素を追加するのと同じです - あなたの回答はすでにこれに答えています: –

答えて

10

を私は正確ではありませんよ「ゼロから」とはどういう意味でしょうか?これはうまくいくでしょう:

var test = []; // new array 

test.push({ 
       value: "FirstVal", 
       label: "My Label 1" 
      }); // add a new object 

test.push({ 
       value: "SecondVal", 
       label: "My Label 2" 
      }); // add a new object 

投稿した構文は完全に正しい作成方法ですmスクラッチ "です。

新しい要素を追加すると、同じように動作しますtest.push({..something...});

4

これはオブジェクトの配列です。あなたは最初からtest.push({ ... })

+0

"オブジェクトの配列" - 明確化のためにありがとう! {}のため、基本的に名前のないオブジェクトですか? –

+1

@moontear:「名前付きオブジェクト」のようなものはありません。 – SLaks

+0

、それに読んで理解します。 –

1

を呼び出すことで、その中に複数のオブジェクトを置くことができます

、次の行がArray.prototype.push方法使用して、オブジェクトと配列を移入作成します。

var test = [];   // Create an array 
var obj = {};   // Create an object 
obj.value = "FirstVal"; // Add values, etc. 
test.push(obj); 
+0

newobjも使用するようにスクリプトを修正してください – mplungjan

2
var items = [{name:"name1", data:"data1"}, 
      {name:"name2", data:"data2"}, 
      {name:"name3", data:"data3"}, 
      {name:"name4", data:"data4"}, 
      {name:"name5", data:"data5"}] 

var test = []; 

for(var i = 0; i < items.length; i++){ 
    var item = {}; 
    item.label = items[i].name; 
    item.value = items[i].data; 
    test.push(item); 
} 

[{label:"name1", value:"data1"}, 
{label:"name2", value:"data2"}, 
{label:"name3", value:"data3"}, 
{label:"name4", value:"data4"}, 
{label:"name5", value:"data5"}]