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;
    }
  }
  data.length=0;
  for(var i in a){
    data[data.length]=i;
  }
  return data;
}
console.log(unique(theArray));

以上代码可以输出删除重复内容后的数组元素。当然实现此功能的方式有多种,本章节只介绍这么一种,下面介绍一下是实现过程。

实现原理:

原理其实很简单,首先建立一个空对象a,然后遍历数组中的每一个元素,并将数组的元素值作为对象a的属性,如果不存在此属性,然后为对象a添加此属性并赋值1,这样不重复的数组元素都成为对象a的属性,最后通过for in元素遍历每一个属性,并将其添加到数组中去,这样就实现了我们想要的功能。

原文地址是:http://www.51texiao.cn/javascriptjiaocheng/2015/0522/2247.html

最为原始的地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=9273

时间: 2024-08-02 10:58:34

javascript如何去掉数组中重复的值的相关文章

js 去掉数组中重复的值 保持唯一性

function unique(arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) != null; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true; } } return result; }

去掉数组中重复的数字

冒泡排序语法: for (int i = 0; i < 数组长度 - 1; i++) { for (int j = 0; j < 数组长度 - i - 1; j++) { if (数组名[j] < 数组名[j + 1]) { int empty = 数组名[j]; 数组名[j] = 数组名[j + 1]; 数组名[j + 1] = empty; } } } 上面这个语法是降序排序,如果想升序的话就把if(数组名[j]<数组名[j=1])里面的小于号“<”改成大于号“>”

js如何删除数组中重复的值

js如何删除数组中重复的值:有时候需要删除数组中重复的元素,下面是分享一下常用的代码,希望能够给需要的朋友带来一定的帮助.代码实例如下: Array.prototype.deleteEle=function() { var obj={}; var newArr=[]; var i,j; for(i=0;i<this.length;i++) { if(typeof(obj[this[i]])=="undefined") { obj[this[i]]=""; }

用正则去掉数组中重复的元素

<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> //去掉数组中重复的元素 //此题最主要就是对数组进行排序拼接,在进行replace的替换,在进行分割,将其return到外部 //随机生成随机数压入空数组arr中 for(var i=0,arr

利用JavaScript去掉数组中重复项

利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉. object的特性是:key一定是唯一的. 把数组重复项去掉: 1 将数组转换成一个object对象,数组的值作为object对象的 key 因为key是唯一的,碰到重复的数组值的时候,object不会添加key 2 将object对象转换成数组,key为数组的值. 在之前的重复数组,每一个值实际上对应object只有一个key,这样在还原到数组的时候,重复值就去掉了 1 /*用object的特性去掉数

去掉数组中重复的数字。

思路:每遍历一次就和之前的所有做比较,不相等则放入新的数组中! 这里用的原型 个人做法: 方法一: rray.prototype.unique = function(){     var len = this.length,         newArr = [],         flag = 1;     for(var i = 0; i < len; i++, flag = 1){         for(var j = 0; j < i; j++){             if(th

JavaScript 找出数组中重复的元素

实现检测数组重复元素的功能,需要注意一点的是,多个(2个或2个以上)重复元素,我们只需要挑出一个来就可以了. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>文字循环显示</title> <script type="text/javascript"> var sear=function(arr) { var

编写一个方法,去掉数组中重复元素

//排序后相邻去除法 arr=[1,2,5,1,3,7,9,5]; function unique(arr){ arr.sort(); var _arr=[arr[0]];//结果数组 for(var i=0;i<arr.length;i++){ if(arr[i]!=_arr[_arr.length-1]){ _arr.push(arr[i]); } } return _arr; } unique(arr); //遍历数组法 if(Array.prototype.indexOf===-1){

Ex 2_14 去掉数组中所有重复的元素..._第二次作业

首先利用归并排序算法对数组进行排序,时间复杂度为O(nlogn),接着再利用时间复杂度为O(n) 的去重复算法去掉数组中的重复元素.总的时间复杂度为O(nlogn). (这题应该用分支算法解决)以下为分支算法 代码不是分支算法 1 package org.xiu68.ch02.ex2; 2 3 public class Ex2_14 { 4 //基于分治法的归并排序算法 5 public static void main(String[] args) { 6 7 int[] a=new int[