首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在javascript中将数组转换为对象列表

在javascript中将数组转换为对象列表
EN

Stack Overflow用户
提问于 2018-09-18 04:06:19
回答 3查看 92关注 0票数 0

是否有可以将数组['A', 'B', 'C']转换为对象数组[{name: 'A'}, {name: 'B'}, {name: 'C'}]的函数

或者我需要写一个util函数?写一个没什么大不了的,只是好奇一个众所周知的函数是否已经存在了。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-18 04:11:03

您可以使用Array.prototype.map()。Array.map是一个方法,它将迭代数组中的每个元素,并根据回调返回输出。您可以在MDN:https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/map上找到有关Array.map的更多信息

下面是一个有效的示例:https://jsbin.com/qawener/edit?js,console

在本例中,我们获取数组的每个元素,并返回一个带有{"name":}的对象。这将创建具有[{name: 'A'}, {name: 'B'}, {name: 'C'}]的newArray数组。

代码语言:javascript
复制
const originalArray = ["a", "b", "c"];

let newArray = originalArray.map(element => { return {name: element}; });


console.log(newArray);
票数 6
EN

Stack Overflow用户

发布于 2018-09-18 04:14:44

Map非常适用于这些类型的情况。

代码语言:javascript
复制
const array = ['A', 'B', 'C'];
const myNewArray = array.map(function(map, i) {
     const dict = {"name":array[i]}    
     return dict;
}, {});

console.log(myNewArray)
票数 1
EN

Stack Overflow用户

发布于 2018-09-18 04:55:40

除了给定的答案之外,您还可以对对象使用short hand properties

代码语言:javascript
复制
const
    names = ["a", "b", "c"],
    result = names.map(name => ({ name }));

console.log(result);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52374967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档