我希望能够通过多个搜索词过滤一个对象来创建一个新的对象数组
Example:
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 数组中的状态
你应该打电话searchTerms.includes
on obj.state
而不是相反。所以就变成了:
let result = arr.filter(obj => searchTerms.includes(obj.state));
意思是filter具有它们的对象state
财产included在数组中searchItems
.
Example:
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)