目前我的JSON对象如下所示:
[
["GB", "gib", "gigabyte", "gigabytes"],
["MB", "mib", "megabyte", "megabytes"],
["Television", " Televisions", " TV", " TVs"],
["tryouts", "tryout", "tests", "test", "trial", "experiment"],
["football", "soccer", "Fussball"]
];
我最终想看到的是一个看起来像这样的新对象:
[
{
synonyms: "GB, gib, gigabyte, gigabytes"
},
{
synonyms: "MB, mib, megabyte, megabytes"
},
{
synonyms: "Television, Televisions, TV, TVs"
},
{
synonyms: "tryouts, tryout, tests, test, trial, experiment"
},
{
synonyms: "football, soccer, Fussball"
}
];
非常感谢任何帮助。
答案 0 :(得分:2)
您可以使用Array.prototype.join()轻松完成此操作:
var output = [];
for (var i = 0; i < input.length; i++) {
output.push({
synonyms: input[i].join(', ');
});
}
您发布的第一个数组称为input
。
答案 1 :(得分:2)
.map()
的解决方案:
var myArray = [
["GB", "gib", "gigabyte", "gigabytes"],
["MB", "mib", "megabyte", "megabytes"],
["Television", " Televisions", " TV", " TVs"],
["tryouts", "tryout", "tests", "test", "trial", "experiment"],
["football", "soccer", "Fussball"]
];
var synonymArray = myArray.map(function(list) {
return {
synonyms: list.join(", ")
}
})
答案 2 :(得分:1)
您可以使用方法地图(https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/map)
轻松完成此操作input = [
["GB", "gib", "gigabyte", "gigabytes"],
["MB", "mib", "megabyte", "megabytes"],
["Television", " Televisions", " TV", " TVs"],
["tryouts", "tryout", "tests", "test", "trial", "experiment"],
["football", "soccer", "Fussball"]
];
output = input.map(function(d) {return {'synonyms':d.join(', ')};});
document.write(JSON.stringify(output));
console.log(output);
答案 3 :(得分:1)
使用for循环并加入:
var newObject = [];
for (var i in originalArray) {
var originalItem = originalArray[i];
var textList = originalItem.join(',');
newObject.push({synonyms:textList});
}
答案 4 :(得分:1)
ES6:
[
["GB", "gib", "gigabyte", "gigabytes"],
["MB", "mib", "megabyte", "megabytes"],
["Television", " Televisions", " TV", " TVs"],
["tryouts", "tryout", "tests", "test", "trial", "experiment"],
["football", "soccer", "Fussball"]
].map(i => ({synonyms:i.join(', ')}))