原生js的数组除重复

js对数组的操作在平常的项目中也会遇到,除去一些增加,或者减少的操作外,还有一个比较重要的操作就是数组的除重,通过数组的除重,我们可以将一个数组中存在的多个重复的数组进行清理,只留下不重复的。另外下面我介绍一种原生就s的数组除重方法。

Array.prototype.check= function(){
	for(var i=0;i<this.length;i++){
		for(var j=i+1;j<this.length;j++){
			if(this[i]==this[j]){
				this.splice(i,1);
				i=i-1;
			}
		}
	}
}

var temp=[1,2,3,3,4,5,5];
temp.check();
alert(temp)

  

通过使用数组的原型,我们定义了方法check(),在此方法中通过比较两个数组,将相同的splice(),然后通过定义数组,赋予该方法进行数组的操作,得出我们需要的结果。

时间: 2024-11-01 12:35:41

原生js的数组除重复的相关文章

浅谈用原生 js 实现数组的 slice 方法

slice 方法有这几种情况:不传参.传一个参数.传两个参数.并且传参支持负数,具体每个情况的效果在这里就不说了. 核心方法:通过 for 循环遍历 调用此方法的数组 ,把要取出的内容放入新数组,然后将新数组返回. 一切的条件处理判断,都为了 for 循环能够正确的执行 这是好久以前写的了,虽然就8行代码,但是三元运算符套用的太多了,还没加括号,现在回过头来看看真是满眼的星星. Array.prototype._slice = function _slice() { var n1 = Numbe

JS删除数组中重复的数据

Array.delRepeat = function (arr) {   var _arr = arr.slice(0),retArr = [];   for (var i = 0, len = _arr.length; i < len; i++) {     for (var j = i + 1; j < len; j++) {       if (_arr[i] == _arr[j]) {         break;       }     }     if (j == len) {  

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; }

JS去掉数组的重复项

自己知道思路怎么去,但是就是自己不会写,在网上找了一些来看,有些还是没有怎么看明白.学习到了这么一种方法 var a=['ss','dd','ss','cc','dd',1,2,1] var b={}//注意这儿是声明的空对象: for(var i=0;i<a.length;i++){ b[a[i]]==a[i]  //这个地方是在对B对象进行赋值,(添加属性并赋值); } a=[]; for(var el in b){ if(el==b[el]){ a.push(el) } } alert(a

js去除数组中重复值

//第三种方法加强版 Array.prototype.distinct=function(){ var sameObj=function(a,b){ var tag = true; if(!a||!b)return false; for(var x in a){ if(!b[x]) return false; if(typeof(a[x])==='object'){ tag=sameObj(a[x],b[x]); }else{ if(a[x]!==b[x]) return false; } }

原生js给数组中每个对象都绑定一个事件

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"> 5 <meta charset="UT

原生JS数组去重的几种方法

有时候我们做项目的时候往往会需要把数组里面一些重复的项去掉,但是原生JS有排序,有筛选等等,但是就是没有数组去重怎么办呢?这能怎么办,自己手动实现嘛.(以下代码直接在原型上添加的的方法,为的就是和原生JS方法类似)可以达到Array.xxx()这样的效果 第一种方法:创建空数组利用indexOf方法检测就数组的项是否在新数组中. Array.prototype.unique=function(){ var arr=[];//创建新数组 for(var i=0;i<this.length;i++)

【前端小小白的学习之路】----&gt;用JS编写一个函数,返回数组中重复出现过的元素

用JS编写一个函数,返回数组中重复出现过的元素,见下面的代码: var arr = [1, 2, 3, 1, 2, 3, 4, 5]; var getRepeat = function (arr) { var obj = {}; for (var i = 0, len = arr.length; i < len; i++) { if (obj[arr[i]] == undefined) { obj[arr[i]] = 1; } else { obj[arr[i]]++; } } for (var

js去除数组中的重复值

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