抱歉,如果标题有点误导,我是js新手,所以idk如何解释我想正确地做什么,所以我将展示我的代码和我的期望.

所以我有一组对象

const mi_array = [{
    text: "1st title",
    col2015: 81.8,
    col2016: 86.4,
    col2017: 67.3,
    col2018: 70.8,
    col2019: 67.6
},{
    text: "2nd title",
    col2015: 90.8,
    col2016: 67.4,
    col2017: 39.3,
    col2018: 50.8,
    col2019: 95.6
}];

我需要这样的东西

const new_array = [{
    name: "1st title",
    data: [81.8,86.4,67.3,70.8,67.6]
},{
    name: "2nd title",
    data: [90.8,67.4,39.3,50.8,95.6]
}];

我一直在寻找如何做到这一点,但这是我迄今为止发现的全部,它接近我需要的,但还不完全存在

const new_array = [];

mi_array.forEach(value => {
    for (let key in value) {
        new_array.push(value[key]);
    }
});

console.log(new_array);

但我的输出是这样的

["1st title", 81.8, 86.4, 67.3, 70.8, 67.6, "2nd title", 90.8, 67.4, 39.3, 50.8, 95.6];

推荐答案

可以通过数组创建一个新对象,其中data属性是原始对象的数值属性值.

const mi_array=[{text:"1st title",col2015:81.8,col2016:86.4,col2017:67.3,col2018:70.8,col2019:67.6},{text:"2nd title",col2015:90.8,col2016:67.4,col2017:39.3,col2018:50.8,col2019:95.6}];

const result = mi_array.map(e => ({
  name: e.text,
  data: Object.values(e).filter(e => typeof e == 'number')
}))

console.log(result)

Javascript相关问答推荐

当promise 在拒绝处理程序被锁定之前被拒绝时,为什么我们会得到未捕获的错误?

Vega中的模运算符

未捕获错误:[]:getActivePinia()被调用,但没有活动Pinia.🍍""在调用app.use(pinia)之前,您是否try 使用store ?""

屏幕右侧屏障上的产卵点""

显示图—如何在图例项上添加删除线效果?

无法检测卡片重叠状态的问题

如何在 cypress 中使用静态嵌套循环

变量的值在Reaction组件中的Try-Catch语句之外丢失

Reaction Native中的范围滑块

对路由DOM嵌套路由作出react

如何在Svelte中从一个codec函数中调用error()?

VSCode中出现随机行

如何在HTMX提示符中设置默认值?

对具有相似属性的对象数组进行分组,并使用串连的值获得结果

在渲染turbo流之后滚动到元素

如何在加载页面时使锚定标记成为焦点

无法向甜甜圈图表上的ChartJSImage添加可见标签

单击子按钮时将活动切换类添加到父分区

观察子组件中的@Output事件emits 器?

Js问题:有没有办法将数据从标记表转换成图表?