【发布时间】:2020-07-08 19:13:31
【问题描述】:
我正在尝试转换:
var arr = [{ "name": "value1" }, { "name": "value2" }, { "name": "value3" }];
var obj = {}; //create the empty output object
arr.forEach(function (item, i) {
var key = Object.keys(item)[0];
obj[key] = item[key];
});
console.log("obj",obj);
这只会给我最后一个对象{name: "value3"}
预期的结果将是:
{ name: "value1", name : "value2", name: "value3" }
【问题讨论】:
-
您想要的结果无效。对象中的键不能重复。充其量只能是
{name:["value1", "value 2", "value 3"]} -
该数据结构的用例是什么?
-
正如@Taplar 提到的,JavaScript 对象中的给定键不能有多个值。即使有可能,它也不会很有用......
-
预期结果是不可能的,因为对象的键必须是唯一的。
-
@FranjoPintarić 我有用户详细信息,我想将所有用户的所有详细信息作为邮件发送,在这种情况下,所有用户都有相同的字段。我想将用户对象数组转换为一个对象和将它们作为一个对象发送
标签: javascript arrays javascript-objects