我正在制作一个大约50名玩家的幻想网络应用程序。下面是我的网络应用程序的模拟数据库:
Users {
John: {
Selection: [1,2,3]
},
Mark: {
Selection: [1,2,4]
}
}
Players {
1: {
name: 'Messi',
agility: 90
},
2: {
name: 'Beckham',
agility: 54
},
3: {
name: 'Rooney',
agility: 10
},
4: {
name: 'Neymar',
agility: 84
}
}
客户选择" Mark"和"约翰"已经在示例中做了,考虑到"用户"节点和"玩家"节点是数据库树中不同的子节点,有没有办法说使用相应用户的选择数组循环播放器阵列?
如果是这样,这个循环结果可以反映在客户端的每个客户端选择
每个客户的选择代码如下:
var ref = firebase.database().ref("players");
var ref3 = firebase.database().ref("users").child(uid).child("total");
$scope.players = $firebaseArray(ref);
$scope.selected = $firebaseArray(ref3);
" REF"是firebase数据库中50个玩家的阵列,而#34; ref3"是由客户创建的6人阵列。
有没有办法在玩家阵列上进行映射或循环搜索" ref3" arrray?
答案 0 :(得分:0)
可以将选择id
映射到players
。
function getSelectedPlayers(selection, players, meta) {
return selection.map((id) => { ...meta, player: players[id] });
}
说,我们想要得到约翰的选定球员。我们可以写:
getSelectedPlayers(Users.John.Selection, Players, { uid: 'l30n4rd0' });