我得到不包含特定单词的用户ID。我需要为每个用户ID进行选择以更新用户状态。

var primeusers = [];
var komence= firebase.database().ref();

function thisclick() {


    komence.child('Buyers').on("value", function(snapshot) {
    snapshot.forEach(function(data) {


       if(!data.val().Nealdi.includes("GPA")) {

    console.log(data.key);
    primeusers = data.key;
}


    });
});


}


通过使用此代码,我获得了用户ID的控制台日志:

7SlLam2k0P1grrdggw3JFAaSNyt1
677nl6n0D6563jPfbWGn2dJfI0X2
We67878jtdaJ0dkkHLSThXODwOA3
fpZzOcbeawg3VcWQnOZ6PlWhxmP2
zwJgnxsamkSsz720jDHrtZsdsaR2


当我尝试选择第二个对象时,我使用console.log(primeusers[1]);,但是我得到了每个值的第二个字符。

控制台输出:

S
7
e
p
W


但这不是我所需要的。我如何获得整个第二行?

最佳答案

看起来您希望primeusers是一个数组,现在它是一个字符串-这就是为什么在执行primeusers[1]时获得第二个字符的原因。

var primeusers = [];


将primeusers变成一个数组。

primeusers.push(data.key);


将其ID添加到primeusers数组。

脚本,包括那些更改:

var primeusers = [];
var komence= firebase.database().ref();

function thisclick() {
    komence.child('Buyers').on("value", function(snapshot) {
    snapshot.forEach(function(data) {
       if(!data.val().Nealdi.includes("GPA")) {
         primeusers.push(data.key);
       }
    });
    console.log(primeusers[1]); //this should log the entire second id
  });
}

10-01 21:24