如何使用已定义的对象以角度推送数组值

问题描述

我的数组

let myArr=["test1","test2"];

需要添加如下对象

let myFinalArr=[["test1":{"val1":"XXX","val2":"YYY"}],["test2":{"val1":"XXX","val2":"YYY"}]];

如何以角度推送上述数据。

解决方法

有多种方法可以做到这一点。需求究竟如何?对于数组中的所有元素,对象是否保持不变?

并从您的评论中扩展到以下是实际输出的结构

{
  "test1": { "val1":"XXX","val2":"YYY" },"test2": { "val1":"XXX","val2":"YYY" }
}

您可以尝试使用带有扩展运算符的 Array#reduce 来转换数组

let myArr = ["test1","test2"];

const output = myArr.reduce((acc,curr) => ({
  ...acc,[curr]: { val1: "XXX",val2: "YYY" }
}),Object.create(null));

console.log(output);