web-dev-qa-db-ja.com

配列連想配列に要素を追加する

すべて 連想配列に新しい要素を追加することは「簡単」な方法であり、1次元配列を持っているだけです-私の理解の問題は、配列内に配列を持っていることです(または配列内のオブジェクト?)。

私は次の配列を持っています:

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

2つの質問:連想配列のこの配列を生成する方法(はい...オブジェクト)最初から?方法新しい要素を追加既存の配列に?

Javascriptを理解するのを手伝ってくれてありがとう。

9
Dennis G

「ゼロから」とはどういう意味か正確にはわかりませんが、これでうまくいくでしょう。

_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
_

あなたが投稿した構文は「ゼロから」それを作成する完全に有効な方法ですが。

また、新しい要素を追加すると、test.Push({..something...});と同じように機能します。

10
James Montagne

これはオブジェクトの配列です。

test.Push({ ... })を呼び出すことで、さらに多くのオブジェクトを入れることができます

4
SLaks
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"}]
2
Diode

次の行は、最初から、 Array.prototype.Push メソッド:

var test = [];          // Create an array
var obj = {};           // Create an object
obj.value = "FirstVal"; // Add values, etc.
test.Push(obj);
1
Rob W