【问题标题】:Iterating through array on mouseclick JS在mouseclick JS上遍历数组
【发布时间】:2017-01-21 02:26:45
【问题描述】:

我有这个代码。我点击这个按钮,它会调用这个函数并通过 Promise 返回我的数组。 现在使用该数组,我想通过单击likedislike 按钮进行迭代,然后移动到数组中的下一个项目,或者下一次显示。我已经尝试了以下

 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)
    });
   })
}

【问题讨论】:

    标签: javascript arrays for-loop onclick iterator


    【解决方案1】:

    在这段代码中,您每次迭代都替换了 innerHTML 值。为了获得一组值,您可以执行以下操作:

    var usersList = [];
    users_array.forEach(function(user){
       usersList.push(user.name)
    }
    document.getElementById('displayUsers').innerHTML = usersList.join(' ');
    

    【讨论】:

      猜你喜欢
      • 2020-10-11
      • 2014-08-06
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 2019-08-08
      • 2016-09-23
      相关资源
      最近更新 更多