如何转换字符串数组:
var names = [
"Bob",
"Michael",
"Lanny"
];
进入这样的物体?
var names = [
{name:"Saab"},
{name:"Michael"},
{name:"Lanny"}
];
答案 0 :(得分:6)
超级简单的Array.prototype.map()
工作
names.map(name => ({ name }))
即...将每个条目(name
)映射到具有键" name"的对象。和价值name
。
var names = [
"Bob",
"Michael",
"Lanny"
];
console.info(names.map(name => ({ name })))

愚蠢的我,我忘记了最重要的部分
names.map(name => name === 'Bob' ? 'Saab' : name)
.map(name => ({ name }))
答案 1 :(得分:1)
您也可以这样做:
var names = [
"Bob",
"Michael",
"Lanny"
];
var objNames = []
names.forEach(name => {
objNames.push({
name
})
})
使用ES6,您可以设置name
,它等于name: name
答案 2 :(得分:1)
你可以使用地图功能。 通常,list.map(f)将生成一个新列表,其中位置i的每个元素是将f应用于原始列表中相同位置的元素的结果。 例如:
names.map(function(s) {
return {name: s}
});
答案 3 :(得分:1)
使用Array.map()函数将数组映射到对象。 map()函数将遍历数组并返回一个新数组,该数组包含在原始数组中的每个元素上执行函数的结果。例如:
names = names.map(function(ele){return {"name":ele}});