我在将数组类对象转换为对象数组时遇到了一些麻烦。我正在使用reduce方法,它正确地将数组数据转换为第一组数组的对象,但第二次通过时,它将数据正确地设置为key:value对,但不会将其放置在I希望它是在将数组对象的多深度数组转换为对象数组
这里是阵列和功能:
var array = [
[
['Name', 'Arusha'], ['Species', 'Arabica'], ['Region', 'Mount Meru in Tanzania, and Papua New Guinea'], ['Comments', 'Typica variety or a French Mission']
],
[
['Name', 'Catimor'], ['Species', 'Interspecific hybrid'], ['Region', 'Latin America'], ['Comments', 'This is cross between Timor coffee and Caturra coffee. It was created in Portugal in 1959']
]
];
function convertArrayToObject(array) {
var arr = [];
array.reduce(function(result, currentArray) {
for (var j = 0, i = 0; i < array[0].length; i++) {
result[currentArray[i][0]] = currentArray[i][1];
}
arr.push(result);
return arr;
}, {});
return arr;
}
我的预期输出是假设是这个样子:
[
{ Name: 'Arusha', Species: 'Arabica', Region: 'Mount Meru in Tanzania, and Papua New Guinea', Comments: 'Typica variety or a French Mission' },
{ Name: 'Catimor', Species: 'Interspecific hybrid', Region: 'Latin America', Comments: 'This is cross between Timor coffee and Caturra coffee. It was created in Portugal in 1959' }
]
这就是我目前返回:
[ { Name: 'Arusha', Species: 'Arabica', Region: 'Mount Meru in Tanzania, and Papua New Guinea', Comments: 'Typica variety or a French Mission' },
[Circular],
Name: 'Catimor',
Species: 'Interspecific hybrid',
Region: 'Latin America',
Comments: 'This is cross between Timor coffee and Caturra coffee. It was created in Portugal in 1959' ]
任何帮助将不胜感激!
您正在寻找'地图()' - >'reduce()' –
可能是lodash _flatMap会帮你 –
啊!我以为你只是说使用地图,但使用地图,然后减少一定会做到这一点!谢谢! –