【发布时间】:2020-06-13 11:31:13
【问题描述】:
我有一个函数 getKey(index),它可以在特定索引处获取数据数组的键。但是,这首先需要使用名为 byAuthor 的函数进行过滤。但是,当我尝试将它与 getKey 结合使用时,它并没有像我预期的那样工作。这可能是某种逻辑错误,但我不确定如何获得所需的结果。
getKey = (index) => {
offersRef.on('value', snapshot => {
let data = snapshot.val();
if (data) {
let fullData = _.filter(Object.entries(data).map(([key, value]) => {
return byAuthor(value, firebase.auth().currentUser.uid)
}))
this.setState({ fullData })
}
console.log('the key is' + Object.keys(this.state.fullData)[index])
})
}
这个函数应该记录对象的键,如下图所示。 However,它记录了 0。显然 this.state.fullData = 0, 1, 2, 3。这个项目的截止日期很快,所以如果有人能帮助我,那就太好了。谢谢!
编辑:我再次对其进行了测试,如果我添加console.log(Object.keys(data)),它会打印出我正在寻找的密钥。但是一旦我用 fullData 运行它,键就会变成 0、1、2、3。
【问题讨论】:
标签: javascript arrays react-native react-native-firebase