最近看 vue 源码的时候,看到了 normalizeArrayChildren 里面对数组的打平操作,感觉很不错就把它单独抽离出来,做了小改动
function myFlat(array, deep) {
const res = [];
let i, c;
for (i = 0; i < array.length; i++) {
c = array[i];
if (Array.isArray(c) && deep--) {
c = myFlat(c, deep);
res.push.apply(res, c);
} else {
res.push(c);
}
}
return res;
}