【问题标题】:How can I get the data inside keys of object如何获取对象键中的数据
【发布时间】:2017-10-25 03:19:21
【问题描述】:

我尝试使用以下方法从用户 id (-m3Jh...) 的事务中检索数据。

computed: {
    getData() {
        let db = ref.child('transactions/m3JhsTazwgX9AXeYKxYdisSXDob2')
        .on('value', snapshot => {
            snapshot.forEach(s => {
                var arr = s.val()
                console.log(arr)
                console.log(arr[0].title)
            })
        })
    }
}

在控制台中,这会为每个键生成一个对象数组。

当我尝试 console.log arr[0] 时,我只想检索每个键 (-kx...) 内的所有数据,这会导致每个键内的所有 0 对象都不是我想要的。我只想检索特定键中的所有数据,或者可能是最新的键,如 -Kx8h-vJsVtPRekuU8jt 这应该导致 0、1、2、3 中的所有数据。我想要实现的只是一个简单的账单,显示用户订购的所有信息。使用 vuefire 更容易吗?

【问题讨论】:

    标签: javascript firebase-realtime-database vue.js vuefire


    【解决方案1】:

    您可以使用map 将对象映射到值数组。简单的例子。第二个保留新数组中的键。

    const person = {eyes: {color : 'blue', count: 2},
                   feet: { size: 'medium', count: 2},
                   hands: { size: 'big', count: 1}};
    
    let oldPerson = Object.keys(person).map(key => person[key]);
    
    let newPerson = Object.assign(...Object.keys(person).map(k => ({[k]: person[k]})));
    

    const person = {eyes: {color : 'blue', count: 2},
                   feet: { size: 'medium', count: 2},
                   hands: { size: 'big', count: 1}};
    
    let oldPerson = Object.keys(person).map(key => person[key]);
    
    let newPerson = Object.assign(...Object.keys(person).map(k => ({[k]: person[k]})));
    
    console.log(oldPerson);
    console.log(newPerson);

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 2021-10-05
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      相关资源
      最近更新 更多