function flatten(arr) {
let toString = Object.prototype.toString;
let res = [];
let len = arr.length;
let current = '';
for (let j = 0; j < len;) {
current = arr[j++];
forControl(current);
}
function forControl(curr) {
if (curr) {
if (toString.call(curr) === '[object Array]') {
if (curr.length > 0) {
cartwheel(curr);
}
} else {
res.push(curr);
}
}
}
function cartwheel(c) {
let thatCurrent;
let cLen = c.length;
for (let i = 0; i < cLen;) {
thatCurrent = c[i++];
forControl(thatCurrent);
}
}
return res;
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。