flattend array 扁平数组,一道经常会遇到的面试题
当一个数据不是数组时,将数据向下传递,当满足了条件后进行操作
/**
* @param {Array<*|Array>} value
* @return {Array}
*/
export default function flatten(value) {
const copy = value.slice()
const iter = (arr, root) => {
const copy = arr.slice()
for(let i = 0; i < copy.length;i++) {
if(Array.isArray(copy[i])) {
iter(copy[i], root)
} else {
root.push(copy[i])
}
}
return root
}
return iter(copy, [])
}