将Native javascript对象值React到数组

时间:2016-07-08 02:27:12

标签: javascript listview reactjs charts native

我想要完成的任务。

使用来自firebase的数据水合图表数据

问题

我正在使用的图表需要这种格式的数据

data: [
    { value: 15 },
    { value: 10 },
    { value: 12 },
    { value: 11 },
  ]

我有this.datasource填充我的listview,然后我可以在图表中获取我想要的值,只是错误的格式。我不知道如何在没有引号的情况下获取数据。

  

var chartArrayFilter =(JSON.stringify(items,[' value']));

console.log = [{" value":" 5"},{" value":" 9"},{& #34;值":" 0"},{"值":" 4"}]

我的问题

我试图破解那个数组(或字符串)并删除双引号,但我不知道React Native会发生这种情况。我这样做完全错了吗?如何从javascript对象获取该格式的数据?

这是我正在使用的包裹 https://www.npmjs.com/package/react-native-charts

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您不需要字符串化:

在我看来,您正在使用JSON.stringify作为从对象数组中删除不必要属性的方法。例如,假设您的items数组看起来像这样

items = [
  {
    value: 5,
    foo: 'bar'
  },
  {
    value: 9,
    bar: 'baz'
  }
];

然后调用JSON.stringify就会给你"[{"value":5},{"value":9}]"(注意一切都是如此,好吧,字符串化)。

或许更好的方法如下:

var chartArrayFilter = items.map(function(item) {
  return {value: item.value};
});

会给你[{value: 5}, {value: 6}]。注意在该结构中没有任何字符串化;它只是一个对象数组。

如果你需要字符串化:

如果出于某种原因, 需要在JSON.stringify数组上调用items来选择所需的属性,您只需将其反转为

JSON.parse(items)

在之后

,您致电JSON.stringify。这将为您提供[{value: 5}, {value: 6}, ...],与上述相同。

结论

使用上述两种方法之一准备好items数组后,您应该能够轻松地将其传递到react-native-charts