Javascript如何过滤包含精确单词的对象数组
请问如何从包含的对象中筛选数组中的单词“mango”?例如“芒果”Javascript如何过滤包含精确单词的对象数组,javascript,Javascript,请问如何从包含的对象中筛选数组中的单词“mango”?例如“芒果” 只需使用Array.prototype.filter就可以通过回调过滤数组。然后使用Array.prototype.includes匹配正确的项 var myItems=[ { 标题:“标题一”, 第1节:, 标签:[“橙色”、“苹果”、“香蕉”、“芒果”] }, { 标题:“标题二”, 第15节, 标签:[“芒果”] }, { 标题:“标题三”, 第21节, 标签:[“橙色”、“苹果”] }, ]; con
只需使用
Array.prototype.filter
就可以通过回调过滤数组。然后使用Array.prototype.includes
匹配正确的项
var myItems=[
{
标题:“标题一”,
第1节:,
标签:[“橙色”、“苹果”、“香蕉”、“芒果”]
},
{
标题:“标题二”,
第15节,
标签:[“芒果”]
},
{
标题:“标题三”,
第21节,
标签:[“橙色”、“苹果”]
},
];
const match=myItems.filter(item=>{
退货项目.标签.包括('mango');
});
控制台日志(匹配)代码>可用于此操作。它使用一个函数,该函数应该返回“truthy”或“false”的内容。如果它返回真实的内容,它将保留该项,否则它将被过滤掉
var myIteams=[
{
标题:“标题一”,
第1节:,
标签:[“橙色”、“苹果”、“香蕉”、“芒果”]
},
{
标题:“标题二”,
第15节,
标签:[“芒果”]
},
{
标题:“标题三”,
第21节,
标签:[“橙色”、“苹果”]
},
]
const result=myIteams.filter(item=>item.tag.indexOf('mango')>-1)
console.dir(result)
您可以使用filter
筛选数组,并使用some
查找包含所需值的标记列表
var myItems=[{
标题:“标题一”,
第1节:,
标签:[“橙色”、“苹果”、“香蕉”、“芒果”]
},
{
标题:“标题二”,
第15节,
标签:[“芒果”]
},
{
标题:“标题三”,
第21节,
标签:[“橙色”、“苹果”]
},
]
const filtered=myItems.filter(o=>o.tag.some(t=>t=='mango'));
console.log(过滤)代码>您可以使用和来获取包含标记“Mango”的元素
Filter:Filter提供了一个新的数组,我们可以从现有数组中获取元素
具有某些条件的数组
包含:用于确定wheter数组是否包含某些
元素与否。它返回true
或false
var myIteams=[
{
标题:“标题一”,
第1节:,
标签:[“橙色”、“苹果”、“香蕉”、“芒果”]
},
{
标题:“标题二”,
第15节,
标签:[“芒果”]
},
{
标题:“标题三”,
第21节,
标签:[“橙色”、“苹果”]
},
];
var result=myIteams.filter(x=>x.tag.includes(“mango”));
控制台日志(结果)代码>您可以将筛选器方法与include方法一起使用。下面是一个创建函数的示例,该函数允许您传入要查找的项
var myItems = [
{
title: "Title One",
section: 1,
tag: ["orange", "apple", "banana", "mango"]
},
{
title: "Title Two",
section: 15,
tag: ["mango"]
},
{
title: "Title Three",
section: 21,
tag: ["orange", "apple" ]
},
];
function findItem(itemToFind) {
return myItems.filter(item => item.tag.includes(itemToFind));
}
console.log(findItem('mango'))
你的预期产出是多少?你试过什么吗?有什么问题吗?很好。非常感谢。
var myItems = [
{
title: "Title One",
section: 1,
tag: ["orange", "apple", "banana", "mango"]
},
{
title: "Title Two",
section: 15,
tag: ["mango"]
},
{
title: "Title Three",
section: 21,
tag: ["orange", "apple" ]
},
];
function findItem(itemToFind) {
return myItems.filter(item => item.tag.includes(itemToFind));
}
console.log(findItem('mango'))