Javascript/Node类数组对象处理:name-value数组转键值对对象数组
JavaScript/Node.js 转换实现方案
ES6+ 最简实现(兼容所有现代Node.js/浏览器环境)
核心通过Array.prototype.map遍历原数组,搭配ES6计算属性名动态生成目标对象:
// 原始数据 const origin = [ { name: 'apple', value: 'red' }, { name: 'banana', value: 'yellow' }, { name: 'ocean', value: 'blue'} ]; // 转换逻辑 const result = origin.map(item => ({ [item.name]: item.value })); // 输出验证 console.log(result); // 输出:[ { apple: 'red' }, { banana: 'yellow' }, { ocean: 'blue' } ]
ES5 兼容旧环境实现
如果需要适配不支持ES6计算属性的旧环境,可以用如下写法:
var result = origin.map(function(item) { var obj = {}; obj[item.name] = item.value; return obj; });
内容的提问来源于stack exchange,提问作者Maker
相关产品推荐
相关产品推荐

