Javascript 分解函数映射和reduce-JS
我在这里讨论的是一个函数:Javascript 分解函数映射和reduce-JS,javascript,arrays,object,Javascript,Arrays,Object,我在这里讨论的是一个函数: function transformEmployeeData(array) { return array.map(function(data) { return data.reduce(function(a, b) { a[b[0]] = b[1]; return a; }, {}) }); } transformEmployeeData(array); 此函数用于将数组转换为如下对象: [ {firstNam
function transformEmployeeData(array) {
return array.map(function(data) {
return data.reduce(function(a, b) {
a[b[0]] = b[1];
return a;
}, {})
});
}
transformEmployeeData(array);
此函数用于将数组转换为如下对象:
[
{firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},
{firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}
]
因此,如果您有一个数组:
[
[
['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk']
],
[
['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager']
]
]
它将把它转换成那个
我想把重点放在这一部分:
return array.map(function(data) {
return data.reduce(function(a, b) {
a[b[0]] = b[1];
return a;
}, {})
});
我研究了map函数,它迭代数组并使用它做一些事情,而reduce函数将数组压缩为单个值。现在我还不清楚这两个函数如何一起返回转换后的数组对象。有没有人能用外行的术语帮我理解这些部分?或者,如果没有,有没有最巧妙的方法来实现同样的目标
抱歉,新手。从这个意义上讲,映射数组意味着返回一个新数组,其中每个值都基于某个映射函数进行了转换
const number=[1,2,3];
const squares=numbers.map(num=>num**2);
控制台。原木(方形)代码>请检查此链接-关于地图、缩小和过滤