我试图转换以下字符串数组:
NewSession
到具有特定键(例如number)的JSON对象数组,如下所示:
["one", "two", "three"]
答案 0 :(得分:2)
只需使用Array.prototype.map()迭代object
中的所有元素,然后创建一个新元素,同时将其转换为具有所需结构的// ES6:
const arrayOfObjectsES6 = ["one", "two", "three"].map(number => ({ number }));
console.log(arrayOfObjectsES6);
// ES5:
var listOfObjectsES5 = ["one", "two", "three"].map(function(value) {
return { number: value };
});
console.log(listOfObjectsES5);
。
您可以使用ES6来执行更少行代码,但我还提供了ES5版本:
string

然后,您可以使用JSON.stringify()
来获取它的JSON JSON.stringify(arrayOfObjectsES6);
表示形式:
"number"
如果您希望能够使用function getArrayOfObjectsES6(values, key) {
return values.map(value => ({ [key]: value }))
}
console.log( JSON.stringify(getArrayOfObjectsES6(["one", "two", "three"], 'ES6')) );
function getArrayOfObjectsES5(values, key) {
return values.map(function(value) {
var obj = {};
obj[key] = value;
return obj;
});
}
console.log( JSON.stringify(getArrayOfObjectsES6(["one", "two", "three"], 'ES5')) );
以外的密钥重用此功能:
for

请注意,您也可以使用常规map()
,但我认为menu.html
是更清晰,最简洁的选项。