将字符串数组转换为JSON对象并分配特定键

时间:2018-02-01 00:43:02

标签: javascript

我试图转换以下字符串数组:

NewSession

到具有特定键(例如number)的JSON对象数组,如下所示:

["one", "two", "three"]

1 个答案:

答案 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是更清晰,最简洁的选项。