所以我有一个看起来像这样的对象状态
object:{
foo: Array[3]
bar: Array[6]
}
并且对象内的条目数量可能会发生变化,可能有3个数组,可能有10个。它必须是动态的 我必须将其显示为计数(在饼图中),以接受数据,使其看起来像这样,其中数据是JSX标签内的道具
data:{[
{x:foo, y:foo.length},
{x:bar, y:bar.length}
]}
x输出为名称,y输出为数字(不是百分数,lib为我计算)
我尝试在此处使用一些示例,例如this thread,但我只是不明白
ES6语法的首选项& 如果您有兴趣,我正在将Victory用于我的图形库
答案 0 :(得分:5)
请尝试使用Array.map和Object.entries
let obj = {foo : [1,2,3], bar : [1,2,3,4,5,6]};
let data = Object.entries(obj).map(([k,v]) => ({x:k, y:v.length}));
console.log(data);
答案 1 :(得分:0)
您甚至可以简单地将map与以下按键配合使用:(以支持ie)
const obj = {foo : [1,2,3], bar : [1,2,3,4,5,6]};
const d = Object.keys(obj).map(el => ({x:el, y:obj[el].length}));
console.log(d);