问题描述
我的数组
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);