【发布时间】:2023-01-19 20:53:34
【问题描述】:
我正在尝试根据两个属性复制对象,这两个属性具有多个值,用逗号区分。 例如:
我有一个对象
const obj = {
id: 1
date: "2021"
tst1: "111, 222"
tst2: "AAA, BBB"
}
在这种情况下,我希望结果是 2 个对象的数组(因为 tst1 或 tst2 中有 2 个值,这 2 个属性将始终具有相同的 nr 值,用逗号区分)
[{
id: 1,
date: "2021",
tst1: "111",
tst2: "AAA",
},
{
id: 1,
date: "2021",
tst1: "222",
tst2: "BBB",
}]
我试过的是:
我创建了一个临时对象
const tempObject = {
id: obj.id,
date: obj.date,
}
然后我将拆分并映射具有多个值的属性,如下所示:
cont newObj = obj.tst1.split(",").map(function(value) {
let finalObj = {}
return finalObj = {
id: tempObject.id,
date: tempObject.date,
tst1: value,
})
现在,newObj 是一个对象数组,每个对象都包含一个值 tst1。 问题是我仍然必须为 tst2 做同样的事情......
我想知道是否有更简单的方法来做到这一点......
谢谢!
【问题讨论】:
标签: javascript javascript-objects