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

时间:2018-09-17 20:06:19

标签: javascript

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

还是我需要编写一个util函数?编写一个没什么大不了,但是很好奇是否已经有一个众所周知的函数。

谢谢

3 个答案:

答案 0 :(得分:6)

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

这是一个可行的示例:https://jsbin.com/qawener/edit?js,console

在此示例中,我们获取数组的每个元素,然后返回带有{“ name”:}的对象。然后,将创建将具有[{name: 'A'}, {name: 'B'}, {name: 'C'}]的newArray数组。

const originalArray = ["a", "b", "c"];

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


console.log(newArray);

答案 1 :(得分:1)

地图在这类情况下效果很好。

const array = ['A', 'B', 'C'];
const myNewArray = array.map(function(map, i) {
     const dict = {"name":array[i]}    
     return dict;
}, {});

console.log(myNewArray)

答案 2 :(得分:1)

除了给出答案外,您还可以使用short hand properties作为对象。

const
    names = ["a", "b", "c"],
    result = names.map(name => ({ name }));

console.log(result);