JS.克隆对象,但为所有值加前缀



假设有一个具有字符串值的对象:

const A = { key_a1: "value_a1", key_a2: "value_a2" };

克隆此对象并为值添加前缀的方法是什么?所以我想把对象A转换成下一个对象B

const B = { key_a1: "prefix_value_a1", key_a2: "prefix_value_a2" };

我知道像const B = { ...A }这样的复制语法,但它不允许修改值。

您可以使用Object.entries将原始objectkeysvalues转换为一个数组,并使用reduce创建一个新对象,该对象具有与带前缀的原始对象相同的keys

const A = { key_a1: "value_a1", key_a2: "value_a2" };
const B = Object.entries(A).reduce((acc, [key, value]) => ({
...acc,
[`prefex_${key}`]: value
}), {})
console.log(B)

您可以循环它的值,如:

Object.values(A).map(i => `prefix_${i}`)

最新更新