118.512973,31.675545|301|马鞍山市大明路|118.533471,31.687007|323|马鞍山市西康路|118.513351,31.676126|301|马鞍山市经信委|
secRing = secRing.split('|');
    var count = secRing.length;
    for (var i = 0, l = count; i < l; i++) {
        var srr = secRing[i].split(",");
        var pointY = new BMap.Point(parseFloat(srr[0]), parseFloat(srr[1]));
        var ID="";(怎么获取到301,323这些数据)
        var address="";(怎么获取到地址)
       }按上面的分割,我只获取到了坐标,请问该怎么获取到剩下的两个数据呢?

解决方案 »

  1.   

    第一:这些数据哪里来的,如果是后台查询来的,为何不用json,我想会容易的恩多吧
    第二:如果一定要这样的写法的话,只能给出建议,你得知道没一个item 有几个数据然后去计算。
          比如你这里301 是下标为1,没3个一个item,那么就可以如下写:
          for(var i=0;i<count;i++){
             var ID="";var address=""
             if(i%3==1){ID+=(ID==""?i:(","+i));}
               if(i%3==2){address+=(address==""?i:(","+i));}
          }
      

  2.   


         var text='118.512973,31.675545|301|马鞍山市大明路|118.533471,31.687007|323|马鞍山市西康路|118.513351,31.676126|301|马鞍山市经信委|',
              arr=text.split("|"),
              zbarr=[],barr=[],name[];
              for(var i=0;i<text.length;i++){
                     i%3==2?name.push(text[i]):i%3==1?barr.push(text[i]):zbarr.push(text[i])
                
                   
               }
    }
                    
      

  3.   

    不过还是建议你换一下写法,这种写法不大好扩展。建议用json格式。