数组拉平

数组是写代码经常接触的一个东西,而有些时候数组里面的结构并不是我们想要的,所以需要拉平,其实方法有很多种,下面我简单的整理了几种方式,而我认为最重要的一种是用递归的思想来实现。具体代码如图:

    <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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值