如果找到带有'chart'键,则克隆引入新键值对的对象 - JS



我有一个JS对象

const data = {
names: {
chart1: 'arun'
},
city: 'New York',
zip: {
chart1: 11201
}
}

克隆时,每当找到名为"chart"的密钥时,我都要添加一个名为chart2(或增量(的新密钥。请提供建议。

这就是我所做的:

const newData = {
names: {
...data.names,
chart2: 'arun'
},
city: 'New York',
zip: {
...data.zip,
chart2: 11201
}
}

但是,我想在函数中处理它。

预期输出:

{
city: "New York",
names: {
chart1: "arun",
chart2: "arun"
},
zip: {
chart1: 11201,
chart2: 11201
}
}

请提供建议。键应该是基于找到的图表的最大值的增量键。如果我克隆上面的对象,新的密钥应该是chart3。

此代码应该可以工作:

const newData = {
names: {
...data.names,
[`chart${Object.keys(data.names).length+1}`]: 'arun'
},
city: 'New York',
zip: {
...data.zip,
[`chart${Object.keys(data.zip).length+1}`]: 11201
}
}

最新更新