NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/util/lib/array/flatten-deep.js

26 lines
646 B
JavaScript
Raw Normal View History

2023-09-14 14:47:11 +08:00
var isArray = require('../type/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]
*/
var flattenDeep = function flattenDeep(arr) {
var result = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (!isArray(arr)) {
result.push(arr);
} else {
for (var i = 0; i < arr.length; i += 1) {
flattenDeep(arr[i], result);
}
}
return result;
};
module.exports = flattenDeep;