按照深度降维数组
刚参加完阿里2020前端第一次笔试,这是其中的一道题目。
由于是问答题,当时写完没法测,出来测试了一下没问题,故记录一下。
var a = [1,[2,3]];
a.reduceDepth(); // [1,2,3]
var a = [1,2,[3,4,[5,6],7]];
a.reduceDepth(); // [1,2,3,4,[5,6],7]
a.reduceDepth(2); // [1,2,3,4,5,6,7]
Array.prototype.reduceDepth = function(depth=1) {
var result = this.slice(); // 复制一份
while(depth > 0){
result = result.reduce((a,c) => a.concat(c), []);
depth--;
}
return result;
}
【后记】:降维数组,或者叫扁平化数组,我在之前的博客中写过,附上链接