我对 Angular 或 JavaScript 有点陌生。我正在尝试将具有相同 id 的值附加或连接到一行中。
var array = [{
id: "410",
value: "val1"
}, {
id: "411",
value: "val1"
}, {
id: "412",
value: "val4"
},{
id: "410",
value: "val2"];
var output = [];
我希望输出是
output = [
{id:"410", value:["val1","val2"]},
{id:"411", value:["val1"]},
{"id":412,value:["val4"]}]
感谢任何帮助,提前致谢
最佳答案
您的value
属性必须是一个数组。
您可以使用reduce
函数来获得所需的输出。
var array = [{ id: "410", value: "val1" },
{ id: "411", value: "val1" },
{ id: "412", value: "val4" },
{ id: "410", value: "val2"}];
var output = array.reduce((a, c) => {
var id = c.id;
var e = a.filter((e) => e.id == id)[0];
if (e) {
e.value.push(c.value);
} else {
a = [...a, ...[{ id: id, value: [c.value] }]];
}
return a;
}, []);
console.log(output);
资源
关于javascript - 如何使用 Angular 或 JavaScript 连接两个具有相同 id 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48550082/