展平嵌套数组
Flattening nested array
我正在尝试展平嵌套数组,但未定义。我最近学习了 reduce
并且正在尝试应用相同的逻辑。
var list2 = [0, [1, [2, [3, [4, [5]]]]]];
function flat3(arr){
arr.reduce(function(result, val, index){
if(Array.isArray(val)){
result = result.concat(val);
flat3(val);
} else {
result.push(val);
}
return result;
}, []);
}
console.log(flat3(list2));
我不确定。为什么?我错过了什么?
您没有返回 flat3
的值。这就是您要查找的内容:
var list2 = [0, [1, [2, [3, [4, [5]]]]]];
function flat3(arr) {
return arr.reduce(function(result, val, index) {
if (Array.isArray(val)) {
result = result.concat(flat3(val));
} else {
result.push(val);
}
return result;
}, []);
}
console.log(flat3(list2));
我正在尝试展平嵌套数组,但未定义。我最近学习了 reduce
并且正在尝试应用相同的逻辑。
var list2 = [0, [1, [2, [3, [4, [5]]]]]];
function flat3(arr){
arr.reduce(function(result, val, index){
if(Array.isArray(val)){
result = result.concat(val);
flat3(val);
} else {
result.push(val);
}
return result;
}, []);
}
console.log(flat3(list2));
我不确定。为什么?我错过了什么?
您没有返回 flat3
的值。这就是您要查找的内容:
var list2 = [0, [1, [2, [3, [4, [5]]]]]];
function flat3(arr) {
return arr.reduce(function(result, val, index) {
if (Array.isArray(val)) {
result = result.concat(flat3(val));
} else {
result.push(val);
}
return result;
}, []);
}
console.log(flat3(list2));