Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 | 1x 4x 4x 7x 7x 7x 7x 4x 1x | /** * 数组扁平化 * @method arr/flatten * @param {array} arr 要操作的数组 * @returns {array} 经过扁平化处理的数组 * @example * var $flatten = require('@spore-ui/kit/packages/arr/flatten'); * console.info($flatten([1, [2,3], [4,5]])); // [1,2,3,4,5] */ var $type = require('../obj/type'); function flatten(arr) { var array = []; for (var i = 0, l = arr.length; i < l; i += 1) { var type = $type(arr[i]); Iif (type === 'null') { continue; } var extraArr = type === 'array' ? flatten(arr[i]) : arr[i]; array = array.concat(extraArr); } return array; } module.exports = flatten; |