function flatDeep(arr, d = 1) { if (!arr || !arr.length) return [] return d > 0 ? arr.reduce((acc, cur) => acc.concat(Array.isArray(cur) ? flatDeep(cur, --d) : cur), []) : arr.slice() }