File size: 515 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
/**
* @template T
* @overload
* @param {T[][]} nodes
* @param {T[]} [target]
* @returns {T[]}
*/
/**
* @template T
* @overload
* @param {T[]} nodes
* @param {T[]} [target]
* @returns {T[]}
*/
/**
* @param {any[]} nodes
* @param {any[]} [target]
* @returns {any[]}
*/
export function flatten(nodes, target = []) {
for (let i = 0; i < nodes.length; i += 1) {
const node = nodes[i];
if (Array.isArray(node)) {
flatten(node, target);
} else {
target.push(node);
}
}
return target;
}
|