• JS把数组中相同元素组合成一个新的数组问题


    刚才一朋友问了我一个问题:

    arr=['1','1','1','2',,'3','4','5','5','6','6','7','8','9','9','10'];现在有一个这样规律的数组,需求是把里面相同元素组合成一个新的数组,有什么比较简便的方法不

    也就是说,最终要的结果是这样的:

    newArr = [ [ "1" , "1" , "1" ] , [ "2" ] , [] , [ "3" ] , [ "4" ] , [ "5" , "5" ] , [ "6" , "6" ] , [ "7" ] , [ "8" ] , [ "9" , "9" ] , [ "10" ] ]

    我的方案如下:

    var arr=['1','1','1','2',,'3','4','5','5','6','6','7', '8','9','9','10'];
     var newArr = [],
         tempArr = [];
     for(var i=0,j=arr.length;i<j;i++){
        if(arr[i] == arr[i+1]){
            tempArr.push(arr[i]);
        } else {
            tempArr.push(arr[i]);
            newArr.push(tempArr.slice(0));
            tempArr.length = 0;
        }
     }
     console.log(newArr);
     /*[ [ "1" , "1" , "1" ] , [ "2" ] , [] , [ "3" ] , [ "4" ] ,[ "5" , "5" ] , [ "6" , "6" ] ,  [ "7" ] , [ "8" ] , [ "9" , "9" ] , [ "10" ] ]*/

    对此问题,大家有无更好算法,欢迎分享。

    版权

    作者:Artwl

    出处:http://artwl.cnblogs.com

    本文首发博客园,版权归作者跟博客园共有。转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    Kibana安装
    elasticsearch安装
    分布式_zookeeper
    通信协议_三次握手_四次挥手
    Spring中的IOC_源码_随笔
    Spring设计模式_策略模式/其他
    Spring设计模式_工厂模式
    spring设计模式_代理模式
    docker常用指令01
    ubuntu18下安装docker
  • 原文地址:https://www.cnblogs.com/artwl/p/3019421.html
Copyright © 2020-2023  润新知