ile benGelişmiş Array.prototype.filter Javascript
var strategies = [{
"strategy": {
"category": "war"
}
}, {
"strategy": {
"category": "farming"
}
}]
Sonra geri istiyorum hangi sonuçları gösteren bir dizi var ... Bir JavaScript nesne şöyle var. Aşağıdakilerden herhangi biri olabilir: []
VEYA ["war"]
["farming"]
VEYA ["war", "farming"]
.
[]
varsa, sonuç almak istemiyorum. Ancak ["war", "farming"]
Yukarıdaki iki sonucu da geri almak istiyorum.
Bunu, Array.prototype.filter ile nasıl yapabilirim? this post'u gördüm, ancak bunun üzerinden bir sebep olmadı.
strategies.filter((strategy) =>
????
)
Yardımlarınız için teşekkürler. böylece ilk satırı kendi iç stratejisi ayarlayarak edildi
var categories = ['war', 'farming'];
var filtered = strategies.filter((obj) => {
return categories.indexOf(obj.strategy.category) > -1;
});
yüzden, strateji nesnedir. İşlev içinde eşleşiyorsa true, yoksa yanlış ise false değerini döndürmeniz gerekir. Bir dizi – Fallenreaper
bir dizi filtreleme gibi geliyor Ve ['indexOf'] kullanabilirsiniz (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) bir dizinin belirli bir değer içerip içermediğini öğrenmek için. –
İyi nokta Gents. Eğer indexOf'da -1'in üzerinde bir değer elde edersem, gerçek – thedanotto