Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript如何过滤包含精确单词的对象数组_Javascript - Fatal编程技术网

Javascript如何过滤包含精确单词的对象数组

Javascript如何过滤包含精确单词的对象数组,javascript,Javascript,请问如何从包含的对象中筛选数组中的单词“mango”?例如“芒果” 只需使用Array.prototype.filter就可以通过回调过滤数组。然后使用Array.prototype.includes匹配正确的项 var myItems=[ { 标题:“标题一”, 第1节:, 标签:[“橙色”、“苹果”、“香蕉”、“芒果”] }, { 标题:“标题二”, 第15节, 标签:[“芒果”] }, { 标题:“标题三”, 第21节, 标签:[“橙色”、“苹果”] }, ]; con

请问如何从包含的对象中筛选数组中的单词“mango”?例如“芒果”


只需使用
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'))