网站地图    收藏   

主页 > 前端 > javascript >

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

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

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

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

split用法

 代码如下 复制代码

•<script language="javascript">  
•function spli(){  
•         datastr="2,2,3,5,6,6";     
•  var str= new Array();  
• 
•  str=datastr.split(",");     
•    for (i=0;i<str.length ;i++ )  
•    {  
•        document.write(str[i]+"<br/>");  
•    }  
•}  
•spli();  
•</script> 


刚才一朋友问了我一个问题:

 代码如下 复制代码

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

现在有一个这样规律的数组,需求是把里面相同元素组合成一个新的数组,有什么比较简便的方法不

也就是说,最终要的结果是这样的:

 代码如下 复制代码

newArr = [ [ "1" , "1" , "1" ] , [ "2" ] , [] , [ "3" ] , [ "4" ] , [ "5" , "5" ] , [ "6" , "6" ] , [ "7" ] , [ "8" ] , [ "9" , "9" ] , [ "10" ] ]

 

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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论