我有以下包含一个对象的数组:

[{
  "0key1": "a33",
  "0key2": "Aab",
  "0key3": "i",
  "1key1": "e78",
  "1key2": "Vib",
  "1key3": "j",
  "2key1": "c99",
  "2key2": "Aig",
  "2key3": "k"
}]

我想把它分成三个"key":每行"Value",如下所示:

[
  {"0key1":"a33","0key2":"Aab","0key3":"i"},
  {"1key1":"e78","1key2":"Vib","1key3":"j"},
  {"2key1":"c99","2key2":"Aig","2key3":"k"}
]

请帮我做到这一点.

推荐答案

我会用减号和nullish coalescing assigment

const input = [{ 
  "0key1": "a33", "0key2": "Aab", "0key3": "i",
  "1key1": "e78", "1key2": "Vib", "1key3": "j",
  "2key1": "c99",  "2key2": "Aig", "2key3": "k"
}]
const output = Object.entries(input[0]).reduce((acc,cur) => {
  const key = cur[0];
  const [mainIdx,idx] = key.split("key");
  acc[mainIdx] ??= {}; // nullish coalescing assignment
  acc[mainIdx][key]=cur[1];
  return acc;
}
,[])
console.log(output)

Javascript相关问答推荐

有没有方法在Angular中的bowser选项卡之间移动HTML?

更改一组用户创建的项目的js排序标准

如何使用CSS和JavaScript创建粘性、凝聚力的形状到形状(容器)变形?

设置默认值后动态更新japbox或调色板

创建1:1比例元素,以另一个元素为中心

Express.js:使用Passport.js实现基于角色的身份验证时出现太多重定向问题

仅在React和JS中生成深色

序列查找器功能应用默认值而不是读取响应

JS生成具有给定数字和幻灯片计数的数组子集

有什么(最佳)方法可以从模块中获取脚本模块的多姆元素吗?

每次子路由重定向都会调用父加载器函数

从PWA中的内部存储读取文件

InDesign—创建一个独立的窗口,在文档中进行更正时保持打开状态

将本机导航路由react 到导航栏中未列出的屏幕?

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

如何在coCos2d-x中更正此错误

如何在文本字段中输入变量?

当我try 将值更改为True时,按钮不会锁定

使用自动识别发出信号(&Q)

不协调嵌入图片