[Javascript Practice] 数组扁平化处理

可用方法

<script type="text/javascript">
   var array=[1,[3,[4],[5,[6,7]],8],[9,[10]]];
   var newarray=[];

   function flat(array,newarray){
      for (var i = 0; i < array.length; i++) {
         //类型为number, 则放入到新数组中
         if(typeof array[i]=="number"){
            newarray.push(array[i]);
         }else{
         //否则, 继续分解, 判断, 放入....
            flat(array[i],newarray);
         }       
        }      
      console.log(newarray);
   }
   flat(array,newarray);
</script>

Result

也是一种方法但是条件受限, 仅供参考

<script type="text/javascript">
   var array=[1,[3,[4],[5,[6,7]],8],[9,[10]]];
   var str=array.toString();
   //"string" "1,3,4,5,6,7,8,9,10"
   var newarray=str.split(",");
   //newarray: ["1", "3", "4", "5", "6", "7", "8", "9", "10"] 
   for (var i = 0; i < newarray.length; i++) {
     newarray[i]=parseInt(newarray[i]);
     // "string"->"number"
   }
   console.log(newarray);
</script>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值