1234567891011121314151617181920212223 |
- module.exports = function flatten(list, depth) {
- depth = (typeof depth == 'number') ? depth : Infinity;
- if (!depth) {
- if (Array.isArray(list)) {
- return list.map(function(i) { return i; });
- }
- return list;
- }
- return _flatten(list, 1);
- function _flatten(list, d) {
- return list.reduce(function (acc, item) {
- if (Array.isArray(item) && d < depth) {
- return acc.concat(_flatten(item, d + 1));
- }
- else {
- return acc.concat(item);
- }
- }, []);
- }
- };
|