数组是写代码经常接触的一个东西,而有些时候数组里面的结构并不是我们想要的,所以需要拉平,其实方法有很多种,下面我简单的整理了几种方式,而我认为最重要的一种是用递归的思想来实现。具体代码如图:
<script>
let arr = [
[
['7', '6'],
'6',
[
['0', '4'],
['9'],
'5',
],
]
]
//递归 拉平数组
let newArr=[];
function getArr(arr){
for(let i=0;i<arr.length;i++){
if(arr[i] && arr[i].length>1){
getArr(arr[i])
}else{
newArr.push(arr[i])
}
}
return newArr
}
console.log( getArr(arr))
// toString() /split()方法拉平数组
let newArr=[];
function getArr(arr){
newArr=arr.toString().split(",")
return newArr
}
console.log(getArr(arr))
// flat 拉平数组
let newArr=[];
function getArr(arr,index){
newArr= arr.flat(index)//数组有几层就写几
return newArr
}
console.log(getArr(arr,3))
// es2019
var a=[1,3,5].map(x => [x * x]); // [[1],[9],[25]]
var b=[1,3,5].flatMap(x => [x * x]); // [1,9,25]
console.log(a)
console.log(b)
</script>