我只是想确保我知道这个函数是如何工作的。昨天晚上,我看了一些资料,看了大概3个小时的视频,我没有得到它。我离开我的电脑,做了一些食物,看了一个电视节目,然后又看了看电脑和砰!这样啊,原来是这么回事。我现在知道约减函数是如何工作的。
我只是不知道为什么下面的第一个例子是有效的,而第二个则不行。
来源:雄辩的Javascript Ch.5§扁平
这样做是可行的:
var arrays = [[1, 2, 3], [4, 5], [6]];
var flattened = arrays.reduce(function(a, b) {
return a.concat(b);
});
flattened; //=>[1, 2, 3, 4, 5, 6]我试图篡改代码,将变量更改为函数。不知怎么的,我把它弄坏了。下面将返回undefined,我不知道原因。
这不管用:
var arrays = [[1, 2, 3], [4, 5], [6]];
function flattened(arr){
arr.reduce(function(a, b) {
return a.concat(b);
});
}
flattened(arrays); //=> undefined为什么第一个函数工作,而不是第二个功能?我肯定这是我错过的小东西。
发布于 2015-08-01 17:37:44
您需要从return函数中提取flattened。
function flattened(arr){
return arr.reduce(function(a, b) {
return a.concat(b);
});
}https://stackoverflow.com/questions/31764372
复制相似问题