我正在考虑将多个 Json 对象推送到 1 个对象中。
目前我正在从 AJAX 解析一个数组,它的控制台日志是这样的
0:{id: "24", user: "Joe", pass: "pass", name: "Joe Bloggs", role: "Technical Support", …}
1:{id: "25", user: "Jim", pass: "pass", name: "Jim Bloggs", role: "Technical Support", …}
2:{id: "26", user: "John", pass: "pass", name: "John Bloggs", role: "Technical Support", …}
我需要运行一个循环,并将所有的 id 和用户以这种格式放入一行
0: {Joe : 24, Jim : 25, John : 26}
我该怎么做?
谢谢
最佳答案
您可以将数据缩减为一个新对象:
let a = [{id: "24", user: "Joe", pass: "pass", name: "Joe Bloggs", role: "Technical Support"},
{id: "25", user: "Jim", pass: "pass", name: "Jim Bloggs", role: "Technical Support"},
{id: "26", user: "John", pass: "pass", name: "John Bloggs", role: "Technical Support"}]
let res = a.reduce((a,b) => {
a[b.user] = b.id;
return a;
}, {});
console.log(res);
或者如果你更喜欢解构
let a = [{id: "24", user: "Joe", pass: "pass", name: "Joe Bloggs", role: "Technical Support"},
{id: "25", user: "Jim", pass: "pass", name: "Jim Bloggs", role: "Technical Support"},
{id: "26", user: "John", pass: "pass", name: "John Bloggs", role: "Technical Support"}]
let res = {};
for (let {id, user} of a) {
res[user] = id;
}
console.log(res);
关于javascript - 将多个对象插入单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45943536/