我有这个代码。我单击此按钮,它调用此函数并通过promises返回我的数组。
现在使用该数组我想通过单击like
或dislike
按钮迭代,然后移动到数组中的下一个项目,或者更确切地说下一次显示。我试过下面的
for (var i = 0; i < users_array.length; i++) {
console.log(users_array[i].name);
document.getElementById('displayUsers').innerHTML = users_array[i].name;
}
但所有这一切都将innerHTML替换为数组中的姓氏。代码需要改变以允许我控制数组而不是for循环。其余代码如下:
document.getElementById('revealUser').onclick = displayDaUsers
function displayDaUsers(users_array){
pullAllUsersFromDB().then(function(users_array){
console.log(users_array);
})
}
function pullAllUsersFromDB(){
return new Promise(function(resolve, reject){
rootRef.child('users').on('value', function(snapshot) {
var users_object = snapshot.val();
var users_array = Object.keys(users_object).map(function(key) {
return users_object[key];
});
resolve(users_array)
});
})
}
答案 0 :(得分:0)
在此代码中,您可以在每次迭代时替换innerHTML值。为了获得一组值,你可以这样做:
var usersList = [];
users_array.forEach(function(user){
usersList.push(user.name)
}
document.getElementById('displayUsers').innerHTML = usersList.join(' ');