私は複数のオブジェクトを持つ配列を持っています。私のアプリには、オブジェクトを「フィルタリング」してフィルタリングされた配列を返すオプションがあります。角2は配列から複数のオブジェクトを削除します
this.result.combos.forEach((combo) => {
console.log("Analyzing combo:");
console.log(combo);
if (combo.atk < minStat || combo.atk > maxStat)
{
this.result.combos.splice(this.result.combos.indexOf(combo), 1);
console.log("COMBO HAS BEEN REMOVED");
}
else
console.log("COMBO HAS BENE STAYED");
});
私の問題は、私は結果に到達するために、このメソッドを複数回実行する必要があること、である:
これは、という私が行う方法です。このメソッドを実行するたびに、オブジェクトが部分的にフィルタリングされます。
たとえば、:私は200個のオブジェクトを持っています。それらのminStat/maxStat値をフィルタして、minStat/maxStat値が50/100のレコードのみを表示します。 コードは配列から約70レコードを削除しますが、minStat/maxStatが50-100でなければ多くの結果が残っています。
私はこれを掘り下げており、それはsplice
メソッドに関連していると思います。しかし、私はこの問題の代替案を見つけませんでした。
助けが必要ですか?
array.filterメソッドを使用する –