gpt4 book ai didi

javascript - 按多个值过滤对象数组

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

我希望能够通过按多个搜索词过滤一个对象来创建一个新的对象数组

例子:

  const arr = [
{
'city': 'Atlanta',
'state': 'Georgia'
},
{
'city': 'Chicago',
'state': 'Illinois'
},
{
'city': 'Miami',
'state': 'Florida'
}
]

const searchTerms = ['Georgia', 'Florida']

我希望能够像这样过滤它:

arr.filter(obj => obj['state'].includes(searchTerms))

我发现使用 .includes 输入一个字符串是有效的,但不是一个数组。我对不同的逻辑持开放态度,甚至对 lodash 之类的第三方库持开放态度。我想返回一个新的对象数组,其中只有 searchterms 数组中的状态

最佳答案

您应该在 obj.state 上调用 searchTerms.includes,而不是相反。于是就变成了:

let result = arr.filter(obj => searchTerms.includes(obj.state));

这意味着过滤在数组 searchItems包含 state 属性的对象。

示例:

const arr = [{'city': 'Atlanta', 'state': 'Georgia'}, {'city': 'Chicago', 'state': 'Illinois'}, {'city': 'Miami', 'state': 'Florida'}];

const searchTerms = ['Georgia', 'Florida'];

let result = arr.filter(obj => searchTerms.includes(obj.state));

console.log(result);

关于javascript - 按多个值过滤对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53576285/

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