javascript - 如何将对象转换为对象数组?

标签 javascript reactjs victory-charts

所以我得到了一些状态,它是一个看起来像这样的对象

object:{
  foo: Array[3]
  bar: Array[6]
}

并且对象内的条目数量可能会改变,它可能有 3 个数组,也可能有 10 个。它需要是动态的 我必须将这些显示为计数(在饼图中),它接受这样的数据,数据是 JSX 标记内的属性

data:{[
  {x:foo, y:foo.length},
  {x:bar, y:bar.length}
]}

x 输出为名称,y 输出为数字(不是百分比,库为我解决了)

我在这里尝试使用一些示例,例如 this thread但我就是不明白

偏好 ES6 语法 & 我正在使用 Victory如果您有兴趣,可以使用我的图形库

最佳答案

尝试使用 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);

关于javascript - 如何将对象转换为对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52647488/

相关文章:

c# - 如何通过Javascript检查CheckBoxList的值

javascript - 对于 GraphQL,声明一个与 GraphQL "class"没有任何明显差异的支持模型 "Type"有什么好处或必要性?

react-native - react native : Victory chart formatting for x-axis time column

javascript - OrientJS 中的连接池

javascript - 如何用jquery高亮表格中的行

reactjs - 如何/在何处将模型/ Controller 放入下一个 js 应用程序?

javascript - 使用 Normalizr React 标准化数据时出现问题

css - 带有多条线和工具提示的胜利图表

javascript - 传递动态数据 Victory-native 图表

javascript - 有没有办法从 "getElementsByClassName(' 数据中提取 ID')”?