配列内にメッセージを表示しようとすると、Vueのフィルタメソッドで空になります。 しかし、私の計算された関数はまだ空のオブジェクトの配列を返します(もし私がそこに何かを検索する場合)この配列が空でないのはなぜですか?
私はそれが実際に値を持つオブジェクトを返すだけです - 空のものはフィルタリングする必要がありますでる?
私が "fjhdsfjsdfjsd" exを検索すると、それでも約200個のアイテムが返されますが、空のオブジェクトは返されません。
計算された機能は以下のようになります。
filteredAlarms: function() {
let filter = {};
let searchString = this.search_string.toLowerCase();
Object.keys(this.eventLog).forEach(key => {
filter[key] = this.eventLog[key].filter(item => {
let systemName = item.system_name.toLowerCase();
if(item.type.includes("alarm") && systemName.includes(searchString)) {
return item;
}
});
});
return filter
},
'.filter'コールバックはブール値を返すはずです。常に。時にはアイテムではなく、時には未定義です。 – Bergi
いくつかの入力例と出力がありますか?あなたのコードは、空の配列のオブジェクトを返す必要があります。 – Bergi