数组去重复

举例

数组  [1,1,7,4] 去重,并且去掉重复的选项为 [7,4]

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8" />
	<title>Document</title>
</head>
<body>
	<script>
		Array.prototype.unique3 = function(){
		 var res   =  [];
		 var json  =  {};
		 var count =  0 ;
		 var obj   =  {};
		 for(var i = 0; i < this.length; i++){
		    if(!json[this[i]]){  //未存
		       res.push(this[i]);
		       json[this[i]] = ++count;
		    }else{               //已存
		    	if(!obj[this[i]]){ //首次
		    		obj[this[i]] = 1;
		    		for(var j=0;j<res.length;j++){
		    			if(res[j]==this[i]){
		    				res.splice(j,1)
		    			}
		    		}
		    	}
		    }
		 }
		 return res;
		}
		var arr = [1,1,7,4,7];
		console.log(arr.unique3());
	</script>
</body>
</html>

  

时间: 2024-10-11 16:45:55

数组去重复的相关文章

js 数组去重复、内置方法

1.使用js 数组去重复: 方法①: var arr=[1,2,1,5,2,3,5,1,6,9]; function deRepeat(){ var newArray=[]; var obj={}; var index=0; var len=arr.length; for(var i=0;i<len;i++){ if(obj[arr[i]]==undefined){//不存在 obj[arr[i]]=1; newArray[index++]=arr[i]; }else if(obj[arr[i]

javascript中数组去重复方式汇总

JavaScript中关于数组去重复的方式很多,下面汇总了常见的几种实现方式. 1 /*实现一:基于原型扩展*/ 2 Array.prototype.removeDuplicate = function() { 3 var arrObj = {}, 4 newArr = [], 5 len = this.length; 6 for(var i = 0; i < len; i++) { 7 var value = this[i], 8 type = (typeof value) + value;

Js数组去重复取唯一值

function isBigEnough(element) { return element >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered is [12, 130, 44] function onlyUnique(value, index, self) { return self.indexOf(value) === index; } // usage example: var a = [

数组去重复算法

1.遍历法 var ary=[1,23,12,12,1,12,32,1,1]; function noRepetition(ary){ // 1.创建新数组 var newAry=[]; // 2.遍历老数组,拿到每个值,看新数组有这个值吗,没有添加进去, for(var i=0;i<ary.length;i++){ var cur=ary[i]; if (newAry.indexOf(cur)==-1){ indexOf IE8以前不支持, newAry.push(cur) } } // 3.

数组去重复及记录重复个数(以及遍历map的四种方法)

private static void check(String[] array) { // 字符串数组中,含有不重复的字符串有哪些?每一个重复的个数 Map<String,Integer> map = new HashMap<>(); for(int i=0;i<array.length;i++){ if(map.get(array[i]) != null){ map.put(array[i], map.get(array[i]) + 1);// value + 1 } e

数组去重复,{4,2,4,6,1,2,4,7,8}

思想:拿第1个与第2个.第3个.第4个.第5个......比较,如果重复,就从list里去掉,得到新的list 再拿新的list的第2个与第3个.第4个.第5个......比较,如果重复,就从list里去掉,得到新的list. ...... 就得到了不重复的了, public static void main(String[] args) {   List<Integer> all = new ArrayList<>();   int[] num = { 4, 2, 4, 6, 1

Javascript - 数组去重复

这里我使用的场景是将表单中所有的input的值塞入数组中,然后通过去除重复的值.如果数组的长度和原数组的长度一致,说明没有重复,如果不一致(少于)则报错 //通过$.unique对数组进行“去重”,再和原数组对比,如果不相等说明有重复的值.这种方法的缺点是无法获取重复的对象然后提示用户 if (Acc_arr.length != $.unique(Acc_arr).length) { //发现重复 layer.msg("检测到银行卡号重复.银行信息关系到划扣操作.开发人员请求你认真检查.确保正确

js 数组去重复

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload = function (){ var arr = [11,13,22,11,5,13,7]; fun

使用es6的set和map实现数组去重复

var set = new Set();var arr = [1, 2, 3, 3, 2, 1];arr.map(val => set.add(val));// arr.map(function(val) {// set.add(val);// })arr = [];for(i of set) { arr.push(i);}console.log(arr) // [1, 2, 3] function dedupe(array) { return Array.from(new Set(array)