@antv/util
Version:
> AntV 底层依赖的工具库,不建议在自己业务中使用。
25 lines (22 loc) • 573 B
text/typescript
import isArray from './is-array';
/**
* Flattens `array` a single level deep.
*
* @param {Array} arr The array to flatten.
* @param {Array} result The array to return.
* @return {Array} Returns the new flattened array.
* @example
*
* flattenDeep([1, [2, [3, [4]], 5]]); // => [1, 2, 3, 4, 5]
*/
const flattenDeep = function (arr: any[], result: any[] = []): any[] {
if (!isArray(arr)) {
result.push(arr);
} else {
for (let i = 0; i < arr.length; i += 1) {
flattenDeep(arr[i], result);
}
}
return result;
};
export default flattenDeep;