[英]Filter an array of objects against array of strings
这将返回一个空数组。 我也尝试过使用selectedRules[0]
本身的数组,但得到了相同的结果。 我们如何将对象数组上的过滤器与字符串数组进行比较,以返回具有每个过滤规则的对象数组?
const allRules = [
{
RuleName: "Two",
RuleId: 2
},
{
RuleName: "Three",
RuleId: 3
},
{
RuleName: "Four",
RuleId:4
}
];
const selectedRules = ["2", "3"]
const filteredRule = allRules.filter(x => x.RuleId === selectedRules)
console.log(filteredRule) // []
你需要
===
为数字)selectedRules
数组是否RuleId
.includes
: const allRules = [{ RuleName: "Two", RuleId: 2 }, { RuleName: "Three", RuleId: 3 }, { RuleName: "Four", RuleId: 4 } ]; const selectedRules = ["2", "3"] const filteredRule = allRules.filter(x => selectedRules.includes(String(x.RuleId))) console.log(filteredRule)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.