/**
* js去除数组重复项
*/
//方法一、使用正则法
// reg.test(str),匹配得到就返回true,匹配不到返回false
var arr = ["345","123","123","345","456"];
function RegRemove(){
var str = [];
for(var i = 0,len = arr.length;i < len;i++){//循环数组每一项
if(! RegExp(arr[i],"g").test(str.join(','))) //将新数组串成字符串,去匹配旧数组的每一项,如果匹配不到,说明还没有,就把它存进新数组,
str.push(arr[i]);
}
return str;//最后返回出新数组
}
console.log(RegRemove(arr));

//方法二、使用数组的索引值法
//indexOf() 在新数组中查找元素是否存在,如不存在indexOf()返回-1,把这个元素添加到新数组中,最后返回新数组
function Indexremove(arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])==-1){
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(Indexremove(arr));

//方法三、使用对象的属性特性法
//如果对象中没有这个属性,我们就赋给它这个属性,同时把它添加到新数组中
function ObjAttrRemove(arr){
var newArr=[];
var obj={};
for(var i=0;i<arr.length;i++){
if(!obj[arr[i]]){
obj[arr[i]]=true;
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(ObjAttrRemove(arr));

js去除数组重复项的更多相关文章

  1. js去除数组重复成员

    js去除数组重复成员 第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中 用到两个函数:for ...in 和 indexOf() ...

  2. js快速去除数组重复项

    function unique1(arr) { var tmp = new Array(); tmp.push(arr[0]); for(var i=0;i<arr.length;i++) { ...

  3. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  4. pandas使用drop_duplicates去除DataFrame重复项

    DataFrame中存在重复的行或者几行中某几列的值重复,这时候需要去掉重复行,示例如下: data.drop_duplicates(subset=['A','B'],keep='first',inp ...

  5. JS Jquery去除数组重复元素

    js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { ...

  6. js去除数组里重复的条目,返回被删除的条目的新数组

    我爱撸码,撸码使我感到快乐! 大家好,我是Counter. 今天给大家分享的是利用js进行数组的去重,还是老样子,该注释的都注释在代码里了 欢迎一起技术探讨,一起成长. 效果如下: 代码给出: // ...

  7. js 去除数组中的空值以及数组判断是否有重复数据

    1.判断是否有重复数据 function isRepeat(array){ var hash = {}; for(var i in array) { if(array[i]!="" ...

  8. [算法]合并链表&删除数组重复项

    合并链表 题目 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1-> ...

  9. Js删除数组重复元素的多种方法

    js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ v ...

随机推荐

  1. An invalid form control with name='' is not focusable.

    是因为<form></form>里面还有hide()元素的缘故,把隐藏的放在表单外面就好了

  2. git 学习笔记

    1.创建git仓库 git init 2.添加文件 git add readme.txt 3.修改文件 git add readme.txt 4.提交修改 git commit -m "提交 ...

  3. html5,视频的兼容

    <video controls="controls" width="500" >        <source src="1.mp4 ...

  4. Qt : QProcess

    QProcess 类用来启动另外的一个出现并与他们联系. 开始一个进程,通过传递你想要运行程序的名称和命令行参数作为参数给start()函数,来开始一个进程.参数作为独立的字符串来提供. QProce ...

  5. Qt QObject

    [1]Qt的QObject 1.测试代码如下: #include<QApplication> #include<QPushButton> #include<QDebug& ...

  6. 使用openssl的一些问题

    openssl编译后,会生成bin,include,lib文件夹: 写了一个简单的例子:#include <openssl/md5.h> #include <openssl/evp. ...

  7. clock()、time()、clock_gettime()和gettimeofday()函数的用法和区别【转】

    转自:http://www.cnblogs.com/krythur/archive/2013/02/25/2932647.html 转自http://blog.sina.com.cn/s/blog_7 ...

  8. iOS开发随笔

    突然看到一个搞11年IT的前辈 他的简历给人焕然一新的感觉 IOS:深入理解object-c语言 内存管理(ARC,MRC, 写回传),GCD,RunLoop,RunTime,,Block,Deleg ...

  9. 如何选择合适的CRM客户关系管理软件?

    面对日益激烈的市场竞争,很多企业管理者不断通过各种途径和方式,试图寻找一个合适并行之有效的解决方案,以帮助他们解决企业管理难题,不断提高企业的业绩,获得持续的成功. 企业管理软件的出现填补了企业管理领 ...

  10. spring3种配置的比较

    引用自:Spring 3.x 企业应用开发实战