У меня есть объект Javascript, как так ...Расширенный Array.prototype.filter с Javascript
var strategies = [{
"strategy": {
"category": "war"
}
}, {
"strategy": {
"category": "farming"
}
}]
Я тогда массив, который указывает, какие результаты я хотел бы вернуться. Это может быть любое из следующего: []
OR ["war"]
["farming"]
OR ["war", "farming"]
.
Если у нас есть []
, я не хочу возвращать результаты. Но если ["war", "farming"]
Я хочу вернуть оба вышеперечисленных результата.
Как это сделать с помощью Array.prototype.filter? Я видел this post, но не мог объяснить это.
strategies.filter((strategy) =>
????
)
Благодарим за помощь.
так, стратегия является объектом. Вам нужно вернуть true, если оно соответствует функции, или false, если нет. Похоже, что вы фильтруете набор в массиве – Fallenreaper
И вы можете использовать ['indexOf'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) чтобы узнать, содержит ли массив заданное значение. –
Хороший пункт Gents. Если я получу значение выше -1 в indexOf, я могу вернуть true – thedanotto