gpt4 book ai didi

javascript - 检查对象文字数组中的重复值并从中创建一个新对象

转载 作者:行者123 更新时间:2023-12-01 02:22:12 25 4
gpt4 key购买 nike

我目前有任何对象文字数组,这些数组有可能会以重复值进入客户端(请参阅 Date 键)。

[
{
"Date": "2/26/2018",
"Title": "Story 1"
},
{
"Date": "2/27/2018",
"Title": "Story 2"
},
{
"Date": "2/27/2018",
"Title": "Story 3"
},
{
"Date": "2/28/2018",
"Title": "Story 4"
}
]

如何检查前一个键的值以将其合并到 1 个新对象中,例如:

[
{
"Date": "2/26/2018",
"Title": "Story 1"
},
{
"Date": "2/27/2018",
"Stories": {
[
{
"Title": "Story 2"
},
{
"Title": "Story 3"
}
]
}
},
{
"Date": "2/28/2018",
"Title": "Story 4"
}
]

问题在于 - 不能使用 Underscore.js 等框架。

想法?

最佳答案

您可以使用函数reduce

var array = [    {        "Date": "2/26/2018",        "Title": "Story 1"    },    {        "Date": "2/27/2018",        "Title": "Story 2"    },    {        "Date": "2/27/2018",        "Title": "Story 3"    },    {        "Date": "2/28/2018",        "Title": "Story 4"            }];

var result = Object.values(array.reduce((a, c) => {
if (a[c.Date]) {
a[c.Date].Stories.push({Title: c.Title});
} else {
a[c.Date] = { "Date": c.Date, "Stories": [{Title: c.Title}] };
}

return a;
}, {}));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 检查对象文字数组中的重复值并从中创建一个新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49122253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com