如何解决filter和indexOf方法来创建过滤后的数组
我正在尝试过滤对象数组。这是原始数组:
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)
但是我没有得到我想要的东西,该函数正在返回包含两个对象的数组,因为两个对象的“类型”值中都包含单词“ Parfum”。
问题:如何与要过滤的值完全匹配?
解决方法
如果精确匹配是您想要的,则只需执行以下操作:
data.filter((product) => product.type === "Parfum");
,
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",}
];
const filtered = data.filter(item => item.type == "Parfum");
console.log(filtered);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。