Javascript 如何在数组中搜索单词?
我如何在数组Javascript 如何在数组中搜索单词?,javascript,reactjs,lodash,Javascript,Reactjs,Lodash,我如何在数组myArray中的所有元素中找到它的标题中包含单词“wish”的元素。为此,我想使用Lodash或香草JavaScript const myArray = [ { id:1, category:"HappyBirthday", title:"Best wishes" }, { id:2, category:"HappyBirthday", title:"
myArray
中的所有元素中找到它的标题中包含单词“wish”的元素。为此,我想使用Lodash或香草JavaScript
const myArray = [
{
id:1,
category:"HappyBirthday",
title:"Best wishes"
},
{
id:2,
category:"HappyBirthday",
title:"Happy Birthday"
},
{
id:3,
category:"TopPerformer",
title:"Good job - Girl"
},
{
id:4,
category:"TopPerformer",
title:"Wish you continued success"
},
{
id:5,
category:"WorkAnniversary",
title:"Happy work anniversary"
}
];
预期结果:
const searchResults = [
{
id:1,
category:"HappyBirthday",
title:"Best wishes"
},
{
id:4,
category:"TopPerformer",
title:"Wish you continued success"
}
];
const myArray=[
{
id:1,
类别:“快乐生日”,
标题:“最美好的祝愿”
},
{
id:2,
类别:“快乐生日”,
标题:“生日快乐”
},
{
id:3,
类别:“最佳表现者”,
标题:“干得好,女孩”
},
{
id:4,
类别:“最佳表现者”,
标题:“祝你继续成功”
},
{
id:5,
类别:“工作周年”,
标题:“工作周年快乐”
}
];
const filtered=myArray.filter(obj=>obj.title.toLowerCase().includes(“愿望”);
console.log(过滤)代码>您可以为此使用正则表达式
const retval = myArray.filter(x => x.title.match(/wish/i));
重要
如果您想在过滤器中跳过区分大小写,那么包含这一点非常重要
/i
使用RegExp.prototype.test
的简单Array.prototype.filter
应该可以完成以下工作:
const myArray=[{id:1,category:"HappyBirthday",title:"Best wishes"},{id:2,category:"HappyBirthday",title:"Happy Birthday"},{id:3,category:"TopPerformer",title:"Good job - Girl"},{id:4,category:"TopPerformer",title:"Wish you continued success"},{id:5,category:"WorkAnniversary",title:"Happy work anniversary"}]
const filtered = myArray.filter(({title}) => /wish/gi.test(title));
console.log(filtered);
您尝试过吗?myArray.filter(item=>item.title.toLowerCase().includes('wish'))
@FedericoklezCulloca:没有,未尝试过过滤器。