gpt4 book ai didi

javascript - 合并数组对象

转载 作者:行者123 更新时间:2023-12-03 12:57:08 25 4
gpt4 key购买 nike

嗨,我一直在尝试制作以下数组

[
{
"name": "Study",
"questions": [
{
"question": "Would you Love to learn about Java?",
"answer": "Yes"
}
]
},
{
"name": "Song",
"questions": [
{
"question": "Would you Love to learn about song?",
"answer": "Yes"
},
{
"question": "Would you Love to learn about rock?",
"answer": "No"
}
]
}
]

对此
[
{
"questions": [
{
"question": "Would you Love to learn about Java?",
"answer": "Yes",
"name": "Study"
}
]
},
{
"questions": [
{
"question": "Would you Love to learn about song?",
"answer": "Yes",
"name": "Song"
},
{
"question": "Would you Love to learn about rock?",
"answer": "No",
"name": "Song"
}
]
}
]

我试过 map到两个数组(来自 namequestions )并尝试将它们组合起来,但我无法使其适用于 questions 中的多个数组.我怎样才能做到这一点?有没有 loadash方式也很容易做到这一点。但我正在尝试以 Vanilla JavaScript 方式来做到这一点。

最佳答案

你可以试试双.map() :

let input = [
{
"name": "Study",
"questions": [
{
"question": "Would you Love to learn about Java?",
"answer": "Yes"
}
]
},
{
"name": "Song",
"questions": [
{
"question": "Would you Love to learn about song?",
"answer": "Yes"
},
{
"question": "Would you Love to learn about rock?",
"answer": "No"
}
]
}
]

let result = input.map(({name, questions}) => ({ questions: questions.map(q => ({name, ...q })) }));

console.log(result);

关于javascript - 合并数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59979320/

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