你是不是经常不结贴啊..给多一次机会你..<script>
var arr = ['div1_0_0','div2_5_8','div3_7_9','div1_4_6','div2_4_7'];
var save_arr = new Array();
for(var i=0;i<arr.length;i++)
{
var _head = arr[i].split('_');
save_arr[_head[0]]=arr[i];

}
for(a in save_arr)
{
alert(save_arr[a]);
}
</script>

解决方案 »

  1.   


    <script> function array_removeAt(index)
    {
      var i;
      if(index < this.length)
      {
         for(i = index; i < this.length - 1; i++)
         {
           this[i] = this[i + 1];
         }
         this.length = this.length - 1;
      }
     }
     
       Array.prototype.removeAt = array_removeAt;
      
       var orginalStr = "div1_0_0|div2_5_8|div3_7_9|div1_4_6|div2_4_7";
    var arrStrs = orginalStr.split("|")

    for( var i=0;i<arrStrs.length;i++ )
    {
    var firstDiv = arrStrs[i].substr( 0,4 )
    for( var n=0;n<i; n++)
    {
       if( arrStrs[n].substr(0,4)==firstDiv )
       {    
         arrStrs.removeAt( n );
         n--;
         i--;     
       }
    }
    }

    alert( arrStrs.join("|"))
    </script>
      

  2.   

    <script type="text/javascript">
    var s="div1_0_0|div2_5_8|div3_7_9|div1_4_6|div2_4_7"
    var aSource=s.split("|");
    var mapResult={};
    var i,sId;function getKey(sData){
        return sData.substring(0,sData.indexOf("_"));
    }for(i in aSource){
        sId=getKey(aSource[i]);
        mapResult[sId]=aSource[i];
    }var aOut=[];
    for(i in mapResult){
        aOut.push(mapResult[i]);
    }
    alert(aOut.join(","));
    </script>
      

  3.   

    初来乍到很多规矩还不懂,请高手们多多见谅,这就把以前的帖子都结了。sallay 做出的是我最想要的结果,所以大部分的分数给你了,其他两位也辛苦了,也给部分。多谢各位的帮忙。