如何将Map的键值对添加为JavaScript对象的属性?
把Map键值对合并到JavaScript对象的方法
这里有几种实用的方式可以将map1中的键值对添加到obj中,达到你想要的结果:
方法1:使用Object.fromEntries和对象展开/Object.assign
Object.fromEntries可以直接将Map转换为普通对象,再和原对象合并:
生成新对象(不修改原obj)
const obj = {a: 1}; const map1 = new Map(); map1.set('b', 2); map1.set('c', 3); const mergedObj = {...obj, ...Object.fromEntries(map1)}; console.log(mergedObj); // 输出: {a: 1, b: 2, c: 3}
直接修改原obj
如果不需要保留原对象,用Object.assign直接合并到obj上:
const obj = {a: 1}; const map1 = new Map(); map1.set('b', 2); map1.set('c', 3); Object.assign(obj, Object.fromEntries(map1)); console.log(obj); // 输出: {a: 1, b: 2, c: 3}
方法2:遍历Map手动添加属性
如果需要对每个键值对做额外处理(比如过滤、转换),可以遍历Map的entries逐个添加:
const obj = {a: 1}; const map1 = new Map(); map1.set('b', 2); map1.set('c', 3); for (const [key, value] of map1.entries()) { obj[key] = value; } console.log(obj); // 输出: {a: 1, b: 2, c: 3}
内容的提问来源于stack exchange,提问作者tazmin32w
相关产品推荐
相关产品推荐

