javascript中去除数组中的重复元素

 1 <script type="text/javascript">
 2     var arr = ["b" ,"a" , "a", 2, 3, 3, 2, 1, 4, {}];
 3     Array.prototype.unique = function(){
 4     var ret = [];
 5     var o = {};//这个对象在这里其实是起一个临时容器的作用,在下面的操作中,每次从数组取一个元素,然后判断以这个元素为属性名的对象是否存在于对象
 6     //o中,如果是第一次使用这个元素(也即还没有出现重复的情况),那肯定不存在于对象o中,所以接下来要为这个属性随便赋个值(这样做的目的是使之成为
 7     //一个拥有"属性名":"属性值"的完整对象,这样下次再有重复的数组元素也就是相同的属性名出现的时候不会再重复添加这个对象,最终保证ret.push(v)
 8     //这个操作放进新数组里的元素是不重复的)
 9     var len = this.length;
10     for (var i=0; i<len; i++){
11         var v = this[i];
12         if (!o[v]){
13             o[v] = "hello,world";//随便赋个值,起占位作用,数字,字符串都可以
14             ret.push(v);
15         }
16     }
17     return ret;
18 };
19 document.writeln(arr.unique());
20 </script>

页面显示:b,a,2,3,1,4,[object Object]

时间: 2024-08-02 14:55:15

javascript中去除数组中的重复元素的相关文章

Js中去除数组中重复元素的4种方法

今天工作遇到此问题,尝试多个方法不尽人意,故此写个博客来总结一下如何在js中去除重复元素. 方法1:         Array.prototype.method1 = function(){             var arr[];    //定义一个临时数组             for(var i = 0; i < this.length; i++){    //循环遍历当前数组                 //判断当前数组下标为i的元素是否已经保存到临时数组          

Js中去除数组中重复元素的几种方法

方法1: 1 Array.prototype.method1=function(){ 2 var arr=[]; 3 for(var i=0;i<this.length;i++){ 4 if(arr.indexOf(this[i]) == -1){ 5 arr.push(this[i]); 6 } 7 } 8 return arr; 9 } 方法2: 1 Array.prototype.method2 = function(){ 2 var h{}; //定义一个hash表 3 var arr[

JS中去除数组中的假值(0, 空,undefined, null, false)

1.Array.filter() arr.filter(Boolean) 2.也可以通过遍历判断数组, 空字符,undefined, null, false , 0转化为布尔类型都是 false; let arr=[1, , null, false, undefined, 3]let newArr= []//法1arr.forEach(item => { if (item) { newArr.push(item) }})//法2for (let item of arr) { if (item)

几种去除数组中重复元素的方法

工作中遇到的一个问题,就是去除数组中重复的元素,记录一下几种有效的方法: 第一种思路:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>去除数组重复项</title> </head> &

去除数组中重复元素

问题 统计一个一维数组中的各个元素的个数,然后删除多出来的重复元素,并输出结果. 例如:[1,2,2,2,3,3,3,3,3]-->[1,2,3] 解决思路 将重复元素的列表中的重复元素进行统计,并将统计结果放在dictionary中,key为元素,value为该元素的个数 然后通过for获取key,得到一个新的列表,就是没有重复元素的列表 解决(Python) #!/usr/bin/env python #coding:utf-8 def count_element(one_list): el

去除数组中所有重复元素

//去除数组中重复元素 var arr = [0,2,3,1,5,5,8,8,2,1,10,10,43,43]; var json = {}; for (var i = 0; i < arr.length; i++) { if (!json[arr[i]]) { json[arr[i]] = arr[i]; } }; 输出结果:0,1,2,3,5,8,10,43 //删除函数中指定的元素 //这样就构造了这样一个函数,比如我有有一个数组: var emp = ['abs','dsf','sdf'

js去除数组中的重复值

hasOwnProperty(property) 方法 JavaScript中hasOwnProperty函数方法是返回一个布尔值,指出一个对象是否具有指定名称的属性. 使用方法: object.hasOwnProperty(proName) 其中参数object是必选项.一个对象的实例.proName是必选项.一个属性名称的字符串值. 如果 object 具有指定名称的属性,那么JavaScript中hasOwnProperty函数方法返回 true:反之则返回 false.此方法无法检查该对

javascript如何去掉数组中重复的值

javascript如何去掉数组中重复的值: 数组是用来组织数据的,有时候里面的数据是重复的,下面就介绍一下如何从数组中删除重复的内容. 代码实例如下: var theArray=[1,2,3,4,5,6,4,3,10]; function unique(data){ var data=data||[]; var a={}; for(var i=0;i<data.length;i++){ var v=data[i]; if(typeof(a[v])=='undefined'){ a[v]=1;

关于iOS去除数组中重复数据的几种方法

关于iOS去除数组中重复数据的几种方法 在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方法 可以将NSArray中的元素存入一个字典,然后利用AllKeys或者AllValues取得字典的所有键或值,这些键或值都是去重的.代码: NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-