簡體   English   中英

以對象作為鍵值對中的值構建數組

[英]Build Array with Objects as the value in key value pairs

我一直在磨我的齒輪,我試圖弄清楚如何在 Javascript 中構建以下數據結構:

[arrayValue: {objectKey: objectValue}, arrayValue2: {objectKey: objectValue}]

我嘗試了以下方法:

var arr = [];
var obj = {};

var name = "Test";
var password = 'password';
var value = 'value'

obj[name] = {name: name, value: value, password: password};

arr.push(obj);

我以這種方式將數據推送到數組的原因是因為我實際上有一個數據集,我正在循環遍歷它多次。

不幸的是,這讓我得到了這些結果:

[{"Test":{"name":"Test","value":"value","password":"password"}}, {"Test2":{"name":"Test","value":"value","password":"password"}}]

我打算按如下方式構建它:

["Test":{"name":"Test","value":"value","password":"password"}, "Test2":{"name":"Test","value":"value","password":"password"}]

這樣做的原因是我需要能夠通過名稱來定位數組對象,例如arr[Test].name而不是arr[0].name

非常感謝您對此的任何幫助。

Arrays 不能有命名對象,因此您無法使用array['Test']語法訪問數組的一部分。 數組中的對象只能有索引(索引),所以如果你想把一個 object 放在一個數組中,你需要通過索引來訪問它。 您預期構建的語法無效。

但是話雖如此,如果您不打算遍歷數組而只想按名稱訪問某些項目,為什么不將每個 object 放在“容器”object 中?

Arrays 不能有特定的鍵。 它們僅按數字索引。 您可以在對象上使用arr[variable].name

 var obj = {One: 1, Two: 2, Three: 3} var num = "Three" console.log(obj[num]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM