gpt4 book ai didi

javascript - 在 Javascript 对象数组中映射和缩减数组

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

如有任何建议,我将不胜感激。我需要从下面对象数组中的数组中提取关键字,并减少它们以显示所有关键字而不重复。

我的数据 JSON 对象如下:

[
{
"word":"Cat",
"answer":"A type of feline",
"keywords": ["pet", "mouse-catcher"]
},
{
"word":"Dog",
"answer":"A type of canine",
"keywords": ["pet", "cat-catcher"]
},
]

我的JS代码如下:

let keywordList = data.map(entry => {

let list = [...entry.keywords];
return (
list.reduce(( finalArray, current ) => finalArray.concat(current),[])
);
});

在我的 React 组件中,我再次使用 map 遍历数组:

<p>
keywords: {keywordList.map((word, index) => {
return (
<span key={word+index}>
<a onClick={this.searchKeyword} href="#" id={word}>{word}</a>
<span> | </span>
</span>
);

})}
</p>

不幸的是,我的 reduce 函数似乎没有工作,我得到了一个数组数组。任何建议都会很棒。

最佳答案

let data = [{
"word": "Cat",
"answer": "A type of feline",
"keywords": ["pet", "mouse-catcher"]
}, {
"word": "Dog",
"answer": "A type of canine",
"keywords": ["pet", "cat-catcher"]
}
]

let keywords = [...new Set(data.reduce((a, e) => a.concat(e.keywords), []))]

JSFiddle

关于javascript - 在 Javascript 对象数组中映射和缩减数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45785658/

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