'use strict'/*** Expose `arrayFlatten`.*/module.exports = arrayFlatten/*** Recursive flatten function with depth.** @param {Array} array* @param {Array} result* @param {Number} depth* @return {Array}*/function flattenWithDepth (array, result, depth) {for (var i = 0; i < array.length; i++) {var value = array[i]if (depth > 0 && Array.isArray(value)) {flattenWithDepth(value, result, depth - 1)} else {result.push(value)}}return result}/*** Recursive flatten function. Omitting depth is slightly faster.** @param {Array} array* @param {Array} result* @return {Array}*/function flattenForever (array, result) {for (var i = 0; i < array.length; i++) {var value = array[i]if (Array.isArray(value)) {flattenForever(value, result)} else {result.push(value)}}return result}/*** Flatten an array, with the ability to define a depth.** @param {Array} array* @param {Number} depth* @return {Array}*/function arrayFlatten (array, depth) {if (depth == null) {return flattenForever(array, [])}return flattenWithDepth(array, [], depth)}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型