Interview
Interview copied to clipboard
第111题(2019-12-23):写出一个数组展开函数, 如输入:[1,[2,[3,4,2],2],5,[6]], 则输出:[1,2,3,4,2,2,5,6]
// 因为和深度无关,所以说最简单可以这样
function flatten(arr){
var res = arr.join().split(',');
res = res.map( ele => +ele)
return res;
}
// 还有吗,递归,写一下
function flatten(arr){
var array = [];
arr.forEach(ele => {
if(Array.isArray(ele)){
array.push(...flatten(ele));
} else {
array.push(ele);
}
})
return array;
}
var arr1 = [1,[2,[3,4,2],2],5,[6]];
flatten(arr1)