gpt4 book ai didi

javascript - 如何过滤以数组作为对象参数之一的对象数组?

转载 作者:行者123 更新时间:2023-11-28 17:45:44 27 4
gpt4 key购买 nike

我有这个对象:

this.contacts = [
{
name: "",
el: ["one", "two"]
},
{
name: "",
el: ["three", "four"]
}]

如何过滤上述内容,例如当我搜索“two”时仅返回第一个对象?

到目前为止我的尝试:

filterItems(searchTerm) {

return this.contacts.filter((item) => {
return item.el.filter((user) => {
return user.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1;
})
});

}

它当然不会返回任何内容,为什么?

最佳答案

您可以使用Array#includes并以此作为过滤条件。

function filterItems(user) {
return this.contacts.filter(item => item.el
.map(s => s.toLowerCase())
.includes(user.toLowerCase()))
}

var contacts = [{ name: "", el: ["one", "two"] }, { name: "", el: ["thrEE", "four"] }];

console.log(filterItems('THREE'));
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 如何过滤以数组作为对象参数之一的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46789244/

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