是否存在可以将数组['A', 'B', 'C']
转换为对象数组[{name: 'A'}, {name: 'B'}, {name: 'C'}]
的函数?
还是我需要编写一个util函数?编写一个没什么大不了,但是很好奇是否已经有一个众所周知的函数。
谢谢
答案 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);