Javascript字符串数组对象

IT技术 javascript arrays object
2021-01-20 10:19:37

如何转换字符串数组:

var names = [
    "Bob",
    "Michael",
    "Lanny"
];

变成这样的对象?

var names = [
    {name:"Bob"},
    {name:"Michael"},
    {name:"Lanny"}
];
4个回答

超级简单的Array.prototype.map()工作

names.map(name => ({ name }))

也就是说……将每个条目 ( name)映射到具有键 "name" 和 value 的对象name

var names = [
    "Bob",
    "Michael",
    "Lanny"
];

console.info(names.map(name => ({ name })))


愚蠢的我,我忘记了最重要的部分

names.map(name => name === 'Bob' ? 'Saab' : name)
     .map(name => ({ name }))
哈哈,谢谢,Phil :) “Saab”是一个拼写错误,但我喜欢你与它相关的内容,并且也给出了答案。
2021-03-22 10:19:37

你也可以这样做:

var names = [
"Bob",
"Michael",
"Lanny"
];

var objNames = []

names.forEach(name => {
  objNames.push({
    name
  })
})

使用 ES6 你可以设置name,它等于name: name

您可以使用地图功能。通常,list.map(f) 将生成一个新列表,其中位置 i 的每个元素都是将 f 应用于原始列表中相同位置的元素的结果。例如:

names.map(function(s) { 
    return {name: s}
});

使用 Array.map() 函数将数组映射到对象。map() 函数将遍历数组并返回一个新数组,该数组保存对原始数组中的每个元素执行该函数的结果。例如:

names = names.map(function(ele){return {"name":ele}});