我目前有两个不同的对象列表,一个需要过滤另一个.这是他们目前的样子.
var heroes = [
{
name: "warrior",
primary_skill: "greater bash",
attack_type: "melee",
attribute: "strength"
},
{
name: "ranger",
primary_skill: "focus fire",
attack_type: "range",
attribute: "agility"
},
{
name: "mage",
primary_skill: "oblivion",
attack_type: "magic",
attribute: "intelligence"
},
{
name: "soldier",
primary_skill: "sword dance",
attack_type: "melee",
attribute: "strength"
}
]
Run Code Online (Sandbox Code Playgroud)
哪个应该通过以下过滤
var filters = [
{ attack_type: "melee" },
{ attribute: "strength" }
]
Run Code Online (Sandbox Code Playgroud)
过滤器应该以"和"方式工作,因此这将过滤英雄列表,以便仅显示具有strength属性的近战英雄.
这是我到目前为止的尝试,但我没有取得多大进展:
const filteredHeroes = heroes.filter(
hero => {
return filters.some(
filter => {
return filter.attack_type === …Run Code Online (Sandbox Code Playgroud)