Firebase获取下一个子数据

时间:2017-10-29 06:11:00

标签: javascript firebase firebase-realtime-database

badgeRef.once('value', badges);

function badges(snapshot) {

    var badge = null;

    snapshot.forEach(childSnapshot => {
        const data = childSnapshot.val();

        if(data.steps < stpes && NEXT_CHILD.steps > steps){
            console.log('heey')
            badge = data.name;
        }
    });
}

如何比较&#39;步骤&#39;当前的孩子和下一个孩子之后?

1 个答案:

答案 0 :(得分:1)

首先需要将捕捉转换为数组。

let arr = [];
snapshot.forEach(childSnapshot => {
    arr.push(childSnapshot.val());
});

let badge;

arr.forEach((data, index) => {
    if (arr.length > index + 1) {
      badge = data.steps < steps && arr[index + 1].steps > steps ? data.name : '';
    }
})

我不知道你真正想做什么,但请记住,每次满足条件时,徽章都会被覆盖。如果您需要符合条件的名字,则需要使用some

arr.some((data, index) => {
    if (arr.length > index + 1) {
        if (data.steps < steps && arr[index + 1].steps > steps) {
            badge = data.name;
            return true;
        }
    }
    return false;
});