var arr = [ 1, [2], [[[3]]], [4, [5] ] ]; function unidimensionalArray (arr) { return (arr + '').split(',').map(x => Number(x)); } console.log(unidimensionalArray(arr)); // [ 1, 2, 3, 4, 5 ] // 以上针对数字数组的, 下面是一个针对多类型的 var obj = {}; var func = function() {}; var u = undefined; var nan = NaN; var num = 1; var str = 'boy'; var bool = true; var arr = [bool, [str], [[num]], u, [[[nan, func]]], obj]; var unidimensionalArray = function(arr) { return arr.reduce((p1, p2) => p1.concat(Array.isArray(p2) ? unidimensionalArray(p2) : p2), []); }; console.log(unidimensionalArray(arr)); // [ true, 'boy', 1, undefined, NaN, [Function: func], {} ]