Javascript filter和indexOf方法创建过滤数组
我正在尝试制作一个过滤过的对象数组。这是原始阵列:Javascript filter和indexOf方法创建过滤数组,javascript,methods,filtering,Javascript,Methods,Filtering,我正在尝试制作一个过滤过的对象数组。这是原始阵列: const data = [{ "id": "80009841-C", "name": "Giorgio Armani Code Homme Profumo Parfum", "slug": "parfum/giorgio-armani/code-homme/giorgio-armani-
const data = [{
"id": "80009841-C",
"name": "Giorgio Armani Code Homme Profumo Parfum",
"slug": "parfum/giorgio-armani/code-homme/giorgio-armani-code-homme-profumo-parfum.html",
"brand": "Giorgio Armani",
"type": "Parfum",
},
{
"id": "80022496-C",
"name": "Issey Miyake L'Eau Majeure D'Issey Eau de Toilette",
"slug": "parfum/issey-miyake/l-eau-majeure-d-issey/issey-miyake-l-eau-majeure-d-issey-eau-de-toilette.html",
"brand": "Issey Miyake",
"type": "Eau de Parfum",
}
]
我想使用我找到的代码按类型筛选:
data.filter((product) => product.type.indexOf("Parfum") >= 0)
但是我没有得到我想要的,函数返回一个包含两个对象的数组,因为它们的“type”值中都有“Parfum”一词
问题我如何才能获得我试图筛选的值的精确匹配?如果精确匹配是您想要的,那么只需执行以下操作:
data.filter((product) => product.type === "Parfum");
如果您想要精确匹配,则只需执行以下操作:
data.filter((product) => product.type === "Parfum");
const数据=[{
“id”:“80009841-C”,
“名称”:“Giorgio Armani Code Homme Profumo Parfum”,
“slug”:“parfum/giorgio armani/code home/giorgio armani code home profumo parfum.html”,
“品牌”:“乔治·阿玛尼”,
“类型”:“香水”,
},
{
“id”:“80022496-C”,
“名称”:“三宅一生淡香水”,
“slug”:“parfum/issey miyake/l-eau-unreable-d-issey/issey-miyake-l-eau-unreable-d-issey-eau-de-toilette.html”,
“品牌”:“三宅一生”,
“类型”:“香水”,
}
];
const filtered=data.filter(item=>item.type==“Parfum”);
console.log(过滤)代码>
const数据=[{
“id”:“80009841-C”,
“名称”:“Giorgio Armani Code Homme Profumo Parfum”,
“slug”:“parfum/giorgio armani/code home/giorgio armani code home profumo parfum.html”,
“品牌”:“乔治·阿玛尼”,
“类型”:“香水”,
},
{
“id”:“80022496-C”,
“名称”:“三宅一生淡香水”,
“slug”:“parfum/issey miyake/l-eau-unreable-d-issey/issey-miyake-l-eau-unreable-d-issey-eau-de-toilette.html”,
“品牌”:“三宅一生”,
“类型”:“香水”,
}
];
const filtered=data.filter(item=>item.type==“Parfum”);
console.log(过滤)代码>使用===
代替有效的索引,使用==
代替有效的索引,有效的,有效的,有效的