如何将含动态键的Map对象转换为指定结构的对象数组?
解决方案
方法1:现代简洁写法(ES6+)
利用Object.values()直接提取对象的所有值,再通过map()转换为目标结构:
const originalObj = {1: '20', 2: '2340', 3: '1420'}; const resultArray = Object.values(originalObj).map(value => ({ rate_id: value }));
方法2:兼容旧环境写法(ES5及更早)
如果需要适配不支持ES6的环境,用Object.keys()遍历对象的键,再逐个取值生成新对象:
const originalObj = {1: '20', 2: '2340', 3: '1420'}; const resultArray = []; Object.keys(originalObj).forEach(key => { resultArray.push({ rate_id: originalObj[key] }); });
两种方法最终都会生成你需要的数组结构:
[{"rate_id": '20'}, {"rate_id": '2340'}, {"rate_id": '1420'}, ...]
内容的提问来源于stack exchange,提问作者Haresh Samnani
相关产品推荐
相关产品推荐

