代码:
<script type="text/javascript">
var x = [[1,2],[2,1],[3,1],[1,4],[2,5],[4,2],[3,4],[4,3],[6,2],[3,5],[4,6],[1,6],[6,1],[3,8],[4,7],[3,6],[4,5],[3,3],[0,6],[1,5]];
document.write(x+"<br/>");
for(var j=0 ; j<x.length; j++){
 
for( var i= j+1 ; i< x.length; i++){ 
if( x[j][0]=== x[i][0]){  
     x.splice(i,1);
}
}}document.write(x);
</script>
输出:
1,2,2,1,3,1,1,4,2,5,4,2,3,4,4,3,6,2,3,5,4,6,1,6,6,1,3,8,4,7,3,6,4,5,3,3,0,6,1,5  //原数组
1,2,2,1,3,1,4,2,6,2,4,5,0,6      //最终结果数组期望得到结果:1,2,2,1,3,1,4,2,6,2,0,6   //比最终结果数组少一个元素[4,5,]
问题:为什么[4,5,]无法被删除

解决方案 »

  1.   

    <script type="text/javascript">
    var x = [[1,2],[2,1],[3,1],[1,4],[2,5],[4,2],[3,4],[4,3],[6,2],[3,5],[4,6],[1,6],[6,1],[3,8],[4,7],[3,6],[4,5],[3,3],[0,6],[1,5]];
    document.write(x+"<br/>");
    for(var j=0 ; j<x.length; j++){
      for( var i= j+1 ; i< x.length; i++){ 
        if( x[j][0]=== x[i][0]){  
          x.splice(i,1);
            i--;
          }
      }
    }document.write(x);
    </script>
      

  2.   

    <script type="text/javascript">
    var x = [[1,2],[2,1],[3,1],[1,4],[2,5],[4,2],[3,4],[4,3],[6,2],[3,5],[4,6],[1,6],[6,1],[3,8],[4,7],[3,6],[4,5],[3,3],[0,6],[1,5]];
    var arr=[];
    var flag=false;
    document.write(x+"<br/>");
    for(var j=0 ; j<x.length; j++){
       arr[j]=[];
       for(var i=0;i<arr.length;i++){
         if(arr[i][0]===x[j][0]){
           flag=true;
        }
      if(!flag){
       arr[j].push(x[j]);
      }
    }
    }
    document.write(arr.join(",").replace(/\s/g,""));
    </script>