0
我在創建搜索過濾器的問題
,我用的是* ngFor模塊中和名稱通常是這樣的:濾波器陣列子陣
(game.name.toLowerCase().includes(typed))
但平臺,在陣列來只工作時,我把指數:
(game.platform[i].toLowerCase().includes(typed))
然而這個平臺是動態的,我不能使用的或流派的東西過濾
內的Json
[
{
"name":"GTA",
"platform":[
"xbox",
"playstation"
]
}
]
組件
<tr *ngFor="let game of (games | searchGame:SearchedText.value)">
<td>{{game.name}}</td>
<td>{{game.category}}</td>
<td>{{game.platform | separator}}</td>
// "platform":["Playstation 4","Xbox One"]
<td>{{game.price | currency}}</td>
<td>{{game.quantity}}</td>
<td>{{game.production ? 'Sim' : 'Não'}}</td>
<td>{{game.description}}</td>
<td><i class="fa fa-pencil icon" aria-hidden="true" (click)="staticModal.show()"></i></td>
<td><i class="fa fa-times icon" aria-hidden="true" (click)="staticModal.show()"></i></td>
</tr>
管
transform(game, typed){
typed = typed.toLowerCase();
return game.filter(game =>
(game.name.toLowerCase().includes(typed)) ||
(game.category.toLowerCase().includes(typed)) ||
(game.platform.toLowerCase().includes(typed)) || // Error in this line
(game.price.toLowerCase().includes(typed)) ||
(game.quantity.toLowerCase().includes(typed)) ||
(game.production.toLowerCase().includes(typed)) ||
(game.description.toLowerCase().includes(typed))
);
}
所以更換示數線工程: (Game.name.toLowerCase()包括(類型)) ,但是,這是一個數組的平臺,只能當我把 (Game.platform [1] .toLowerCase()。包括(打印)) 我希望這個動態數組的每個索引也能工作。 –
不幸的是,這一行生成錯誤: 錯誤TypeError:無法讀取未定義的屬性'some' 與使用lowerCase時沒有索引相同的錯誤 錯誤TypeError:無法讀取未定義的屬性'toLowerCase' –
我不確定措辭。 '平臺'或'平臺** **'。一切都是......在你的json中,它是平臺,在你的代碼中,它是沒有's'的平臺。 – Ludwig