javascript - realmjs 对象上的 Object.values 返回一个空数组

标签 javascript react-native realm-js

描述

我正在尝试将我的领域对象转换为数组,如下面的历史方法所示。

class RealmStore {

    @observable symptoms = {};
    @observable meals    = {};

    @computed get history(){
        return [...Object.values(this.symptoms), ...Object.values(this.meals)];
    }

    //More methods to populate this.symptoms and this.meals
}

当我记录 this.symptoms 时,我在终端中得到以下输出:

{
  '0': {
    date: Fri Jun 29 2018 15: 56: 48 GMT + 0200(CEST),
    name: 'Regurgitation',
    value: 1
  },
  '1': {
    date: Fri Jun 29 2018 15: 58: 09 GMT + 0200(CEST),
    name: 'Belching',
    value: 1
  },
  '2': {
    date: Fri Jun 29 2018 16: 10: 39 GMT + 0200(CEST),
    name: 'Heartburn',
    value: 2
  },
  '3': {
    date: Fri Jun 29 2018 23: 30: 36 GMT + 0200(CEST),
    name: 'Heartburn',
    value: 1
  }
}

当我登录 Object.keys(this.symptoms) 时,我在终端中得到以下信息:

[ '0', '1', '2', '3' ]

当我登录 Object.values(this.symptoms) 时,我在终端中得到以下信息:

[]

这是唯一可行的方法:

        const values = [];
        for(let prop in this.symptoms){
            if(this.symptoms.hasOwnProperty(prop)){
                values.push(this.symptoms[prop])
            }
        }
        console.log(values);

这会在我的终端中记录以下内容:

[{
    date: Fri Jun 29 2018 15: 56: 48 GMT + 0200(CEST),
    name: 'Regurgitation',
    value: 1
  },
  {
    date: Fri Jun 29 2018 15: 58: 09 GMT + 0200(CEST),
    name: 'Belching',
    value: 1
  },
  {
    date: Fri Jun 29 2018 16: 10: 39 GMT + 0200(CEST),
    name: 'Heartburn',
    value: 2
  },
  {
    date: Fri Jun 29 2018 23: 30: 36 GMT + 0200(CEST),
    name: 'Heartburn',
    value: 1
  }
]

问题:

是什么导致 realmjs 对象无法返回值数组?

最佳答案

目前不确定为什么 Object.values() 不起作用。我继续使用这个替代方案,根据一些帖子,这可能会导致性能问题。

Array.from(this.symptoms);

关于javascript - realmjs 对象上的 Object.values 返回一个空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51109823/

相关文章:

javascript - 将 IE 11 用户代理字符串设置为 IE 9

javascript - 单击提交按钮之前表单不断重定向

javascript - Bootstrap 轮播显示不正确

swift - 在 react-native 上获取 ApplicationContext

android - 在 Realm 监听器回调中调用 setState 时,直到点击屏幕后 UI 才会更新

android - react-native 上的 Realm : can't get results when not debugging

javascript - 在 Facebook iFrame 选项卡页面中请求权限

reactjs - 在 React-Native 的 ListView 末尾显示事件指示器

javascript - 如何从多个模式中收集数据? - 境界

react-native - React Native - 提供全局主题的最佳方式是什么?