学生遇到了一个“下拉框两级联动的问题”现在大体的思路已经清晰了,需要解决的是:
     
        将[1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6]的一个(不规则)的一维数组,变为
          [[1,1,1,1,1],[2,2,2,2],[4,4,4,4,4,4,4,4,4],[5,5,5],[6,6]]的二维数组。用Java或者JavaScript语言实现皆可。

解决方案 »

  1.   

    参考:
    http://school.itzcn.com/special-spid-28.html
    上面讲解的比较详细,希望对楼主有所帮助。
      

  2.   

    操作数组啊~真头疼啊!
    看在美女的份上~我玩玩试试!<html>
        <body>
      </body>
            <script type="text/javascript">
    var flag;
    var oldarr=[1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6];
    var newarr=[];
    function parsearr(oldarr){
    var newarrstart=[];
    for(i=0;i<oldarr.length;i++){
    if(!flag){flag=oldarr[i];newarrstart.push(oldarr[i]);continue}
    if(oldarr[i]==flag){newarrstart.push(oldarr[i]);flag=oldarr[i];
    if(oldarr[i]==oldarr[oldarr.length-1]){newarr.push(newarrstart);alert("完毕");}
    }
    else{newarr.push(newarrstart);newarrstart=[];flag=oldarr[i];newarrstart.push(oldarr[i]);};
    }
    return newarr;
    }alert(parsearr(oldarr));//这么看似乎没有变化~但是这是一个2维的了,不然遍历一下!for(var i=0;i<newarr.length;i++){
    alert(newarr[i]);};        </script>
    </html>
    一手产品~请大家帮忙优化下!
      

  3.   

      <script type='text/javascript'>
    var a = [1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6],temp='',t=[],f=[];
    for(var i=0,j=a.length;i<j;i++){
    if(a[i] != temp){
    if(t.length) f[f.length] = t ;
    t = [];
    }
    t[t.length] = temp = a[i];
    }
    f[f.length] = t;
    alert(f[0]);//1,1,1,1,1
    alert(f[3]);//5,5,5
      </script>
      

  4.   

    我也来一个,LS的最好加个array.sort();
    var o = ['你', 'da', '你', 123, 'fm', 'fm', 'da', 123, 'fm', 123];
    var n = [];
    var s = 0;
    var t = false;
    o.sort();   //防止出现乱序的情况

    while(o.length != 0)
    {
    if(!t)
    {
    n[s] = [];
    n[s].push(o[0]);
    o.shift();
    t = true;
    }
    if(o[0] == n[s][0])
    {
    n[s].push(o[0]);
    o.shift();
    }
    else
    {
    t = false;
    s += 1;
    }
    }

    for(var i = 0; i < n.length; i++)
    {
    alert(n[i]);
    }
      

  5.   

    我自己的LS的帅锅的方法不错,我研究了一下,算是做个小的优化。
    var o = ['你', 'da', '你', 123, 'fm', 'fm', 'da', 123, 'fm', 123];
    var n = [];
    var s = -1;
    var t = null;
    o.sort();

    for(var i = 0; i < o.length; i++)
    {
    if(o[i] != t)
    {
    s += 1;
    n[s] = [];
    }
    n[s][n[s].length] = t = o[i];
    } for(var i = 0; i < n.length; i++)
    {
    alert(n[i]);
    }
      

  6.   

    var o = ['你', 'da', '你', 123, 'fm', 'fm', 'da', 123, 'fm', 123];
    var result=[];
        var obj={};
        for(var i=0;i<o.length;i++){
            if(typeof(obj[o[i]])=="undefined"){
                obj[o[i]]=[];
                obj[o[i]].push(o[i]);
            }else{
                obj[o[i]].push(o[i]);
            }
        }    
        for(var oo in obj){
            result.push(obj[oo]);
        }
        for(var i = 0; i < result.length; i++){
            alert(result[i]);
        }