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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| // 打印出每一个数字 let arr = [1, 2, [3, 4, [5, 6], 7, 8], 9, 10];
// 1.flat方法 for(let i = 0;i<arr.flat(2).length ; i++ ){ console.log(arr.flat(2).sort(function(a,b){return a-b})[i]) }
// 2.递归函数 let Fnc = function (arr) { for(let i = 0; i<arr.length;i++){ if(typeof arr[i] == 'object'){ Fnc(arr[i]) }else{ console.log(arr[i]) } } } Fnc(arr)
// 3.链式调用数组方法 // let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14,15] ] ] ], 10] let dt = arr.toString().split(',').sort(function(a,b){return a-b}).map(Number) // 去重打印 Array.from(new Set(dt)).map(i=> console.log('链式调用',i))
// 4.JSON.stringify let str = JSON.stringify(arr).replace(/\[|]/g,'').split(',').map(Number); Array.from(new Set(str)).map(i=> console.log('JSON.stringify',i))
// 5.toString let dt1 = arr.toString().split(',').map(Number) Array.from(new Set(dt1)).map(i=> console.log('toString',i))
// 6.for循环(不是最优解:不建议使用) let newArr = [] for(let i = 0;i<arr.length;i++){ if(typeof arr[i] == 'number'){ newArr.push(arr[i]) }else{ for(let j = 0;j<arr[i].length;j++){ if(typeof arr[i][j] == 'number'){ newArr.push(arr[i][j]) }else{ for(let k = 0;k<arr[i][j].length;k++){ newArr.push(arr[i][j][k]) } } } } } newArr.map(i => console.log(i))
|