繁体   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