UNPKG

mm_maths

Version:

这是一个可以将数学公式推导变形,并转成js和计算的模块。

58 lines (54 loc) 1.04 kB
/** * 维度下降(基础) * @param {Array} arr 数组 * @param {Number} n 下降次数 * @return {Array} 返回下降后的数组 */ function flatten(arr) { var arr_new = []; var len = arr.length; for (var i = 0; i < len; i++) { var val = arr[i]; if (Array.isArray(val)) { var ar = flatten(val); ar.map(function(o) { arr_new.push(o); }); } else { arr_new.push(val); } } return arr_new; }; // var r = [ // [2, 3, 1, 3, [4, 5], // [5, 9, 10], 8 // ], // [4, 7, 7, 6] // ]; // console.log(flatten(r)); /** * 维度下降 * @param {Array} arr 数组 * @param {Number} n 下降次数 * @return {Array} 返回下降后的数组 */ module.exports = function reduction(arr, n) { if (n) { var depth = 0; var ar = arr; while (Array.isArray(ar) && ar.length > 0) { ar = ar[0]; depth++; } var arr_new = []; // 循环次数 var times = depth - n; if (times < 1) { times = 1; } } else { return flatten(arr) } };