var a =[[1,2,3,11],[2,3,5,1,[12,22,33,[31,32,53]]],[1,5,6],[2,8,4],9,10,2,1];
console.log(a);var b =[];test(a)
console.log(b);var d =[]for(let x =0; x < b.length; x++){for(let y = x +1; y < b.length; y++){if(b[x]< b[y]){
c = b[x]
b[x]= b[y]
b[y]= c
}}if(d.indexOf(b[x])===-1){
d.push(b[x])}}
console.log(d);// 循环平铺functiontest(arr){for(let i =0; i < arr.length; i++){test2(arr[i])}}// 该方法最多只能平铺二维数组 不能理解 请大家指教functiontest(arr){for(let i =0; i < arr.length; i++){if(Array.isArray(arr)){test(arr)}else{
b.push(arr)}}}// 循环判断functiontest2(arr){if(Array.isArray(arr)){test(arr)}else{
b.push(arr)}}
闭包方式封装平铺方法并调用
//闭包方式封装平铺方法并调用var a =[[1,2,3,11],[2,3,5,1,[12,22,33,[31,32,53]]],[1,5,6],[2,8,4],9,10,2,1];var b =[];var abc =newtest();
b = abc.tile(a)functiontest(){var a ={
test:[],
test2:[],
tile:function(arr){for(let i =0; i < arr.length; i++){
a.tile2(arr[i])}return a.test2
},
tile2:function(arr){if(Array.isArray(arr)){
a.tile(arr)}else{
a.test2.push(arr)}}}return a
}