萌萌哒小天使

导航

数组拉平

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

    <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>

posted on 2020-02-10 14:55  萌萌哒小天使  阅读(121)  评论(0编辑  收藏  举报