JS flatten 簡單實現
阿新 • • 發佈:2018-01-29
def row pre .cn isa team cnblogs func 需要
刷 freecodecamp 的中級 JavaScript 到此 https://freecodecamp.cn/challenges/steamroller:
而在該題目中需要 flatten
的實現:
於是手刷:
function steamroller(arrs) {
if (!arrs || !arrs.length) throw new ReferenceError();
var arr = [];
(function flatten (items) {
items.forEach(function(item){
if (item !== undefined && item !== null) {
if (Array.isArray(item)) {
arr.push(flatten(item));
} else {
arr.push(item);
}
}
});
}(arrs));
arr = arr.filter(function(item){
return item;
});
return arr;
}
steamroller([1, [2], [3, [[4]]]]);
JS flatten 簡單實現