gpt4 book ai didi

javascript - 根据数组值将数组项合并到新数组中

转载 作者:行者123 更新时间:2023-11-30 07:54:59 26 4
gpt4 key购买 nike

我有一个包含故事的数组,每个故事也有一个“天”,我希望能够将同一“天”的故事合并到一个新数组中。

stories = [
{
id: 1,
day: '18-02-2017',
user: 1,
story_data: //JSON containing a single story + other data
},
{
id: 2,
day: '18-02-2017',
user: 1,
story_data: //JSON containing a single story + other data
},
{
id: 3,
day: '17-02-2017',
user: 1,
story_data: //JSON containing a single story + other data
}

]

这是我希望输出数组的样子:

feed = [
{
day: '18-02-2017',
stories: [
//multiple JSON story items
]
},
{
day: '17-02-2017',
stories: [
//multiple JSON story items
]
}

]

我在 NodeJS 中使用 Async 库进行必要的 FOR 循环,因为我还需要在将数据添加到这个最终数组之前异步处理数据 - 我知道需要做什么才能使新数组刚刚开始完全不知道如何将其放入代码中。

最佳答案

尝试运行这段代码:

var jsonStories = {};
stories.forEach(function(story) {
if (!jsonStories[story['day']]) {
jsonStories[story['day']] = {
'day': story['day'],
'stories': []
};
}
jsonStories[story['day']]['stories'].push(story);
});
var storiesArr = [];
Object.keys(jsonStories).forEach(function(key) {
storiesArr.push(jsonStories[key]);
});

你会得到一个有序的数组。如果您删除最后四行,您还可以将其作为 JSON 数组获取。

关于javascript - 根据数组值将数组项合并到新数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42321220/

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