我想要完成的任务。
使用来自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
谢谢!
答案 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
!