我想从我的Firebase数据库中获得RANDOM 3项。在我的数据库中,“食物”下有25个项目,每个项目的标题为“ 0”-“ 24”。每个项目的食物类型都称为“ wtype”。在这里,我想获得3个具有wtype =“ fruit”的随机项目。我该如何实现?
下面的代码显示了所有具有水果类型的项目,但我只希望3个具有水果类型的RANDOM项目。
food.page.html
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell" , for : indexPath) as? customCell else {
print("custom cell are not set")
return UITableViewCell()
}
cell.NameLabel.Text = list[indexPath.row].name ?? ""
.
.
.
return cell
}
food.page.ts
<ion-list *ngIf="showFood">
<ion-row *ngFor='let FoodFruit of showTypeOfFood("fruit")'>
<ion-col>
<ion-card>
<div class="card-title">{{FoodFruit.wtitle}}</div>
</ion-card>
</ion-col>
</ion-row>
</ion-list>
ionViewDidEnter(){
this.currentUser = this.afAuth.auth.currentUser;
if(this.currentUser == null){
this.showFood = false;
}
else{
this.showPersonalFood();
}
}
showPersonalFood(){
this.afAuth.auth.onAuthStateChanged(
(user)=>{
if(user){
this.showFood = true;
this.afDatabase.object('foods/').snapshotChanges().subscribe(
(action)=>{
if(action.payload.val())
{
console.log(action.payload.val());
let items: any = action.payload.val();
items.forEach(
(food) =>{
this.foods.push(food);
}
);
}
else
{
console.log("No Data");
}
});
}
}
);
}
请参考上面的showTypeOfFood(type)
{
let items:any = [];
this.foods.forEach((Food)=>{
if(Food.wtype == type)
{
items.push(Food);
}
});
return items;
}
函数。如何使用if语句仅获取3个具有特定类型的随机项目?谢谢