A-A+

JS数组中相同元素生成新数组

2016年10月15日 前端设计 暂无评论 阅读 5 views 次

本文章来分享一个有些朋友在问的把几个数组中相同元素的数组生成一个新的数组,有需要学习了解的朋友可进入参考参考。

我们经常要做把数组中相同元素删除,这个好实现如下.

split用法,代码如下:

  1. <script language="javascript">     
  2. function spli(){     
  3.          datastr="2,2,3,5,6,6";        
  4.   var str= new Array();     
  5.     
  6.   str=datastr.split(",");        
  7.     for (i=0;i<str.length ;i++ )     
  8.     {     
  9.         document.write(str[i]+"<br/>");     
  10.     }   //xiariboke.net  
  11. }     
  12. spli();     
  13. </script>   

刚才一朋友问了我一个问题,代码如下:

arr=['1','1','1','2',,'3','4','5','5','6','6','7','8','9','9','10'];

现在有一个这样规律的数组,需求是把里面相同元素组合成一个新的数组,有什么比较简便的方法不,也就是说,最终要的结果是这样的:

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

给我留言