数组去重--hash方法

hash方法我以前百度找到的,经常用性能好速度快,本文章主要是一步步解释hash方法的过程(其实没多少步)

在这里就能看出每个自定义下标都是独一无二的,其实就相当于数组arr已经去重了

剩下我们就需要把自定义下标给抽取出来放在新数组

代码就这么点,就这么简单,分两步的目的是想简单解释去重过程。

原文地址:https://www.cnblogs.com/konghaowei/p/10907325.html

时间: 2024-10-08 17:20:32

数组去重--hash方法的相关文章

js 数组去重的方法总结

想沉淀一下自己.代码改变世界~~~ 1.利用Array.from代码如下 1 var arr = [1,2,3,4,3,2,1] 2 function unique(arr){ 3 return Array.from(new Set(arr)) 4 } 5 console.log(unique(arr)) 2.利用es6(...)拓展运算符.demo 1 var arr = [1,2,3,4,3,2,1] 2 function unique(arr){ 3 return [...new Set(

js数组去重的方法

1.如果不借助任何方法,初级写法应该是: function unique(arr){ var res=[]; for(var i=0,len=arr.length;i<len;i++){ var obj = arr[i]; for(var j=0,jlen = res.length;j<jlen;j++){ if(res[j]===obj) break; } if(jlen===j)res.push(obj); } return res; } var arr=[1,1,'2','1',3,4]

数组去重的方法总结

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数组去重的 3种方法</title> </head> <body> <script type="text/javascript"> var demoAr = [3,4,5,5,7,2,1,4,3]; /

5个数组去重的方法

1.遍历数组法 最简单的去重方法:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码 function unique1(array){ var n = []; for(var i = 0; i < array.length; i++){ //如果当前数组的第i已经保存进了临时数组,那么跳过,否则把当前项push到临时数组里面 if (n.indexOf(arra

几种数组去重的方法

<script type="text/javascript">window.onload=function(){ /*数组去重方法一*//*var arr=[1,1,2,545,5,15,156,1,5,15]; var arr1=[]; for(var i=0;i<arr.length;i++){ if(arr1.indexOf(arr[i])==-1){ arr1.push(arr[i]); }; }; alert(arr1); */ /*数组去重方法二*//*

indexof实现数组去重的方法,有三个版本,一个Js版本,2个augular版本

先上Js的简化版本的数组去重,需要M层控制数据 大妈 1 var aa = [1,3,4,5,6,23,523,6,123,'1',12,'刘','刘','刘','翔',12,123,214,'1','3','刘翔','刘翔']; 2 3 function arr(arr){ 4 var result = []; 5 for (var i=0;i<arr.length;i++) { 6 if (result.indexOf(arr[i]) == -1) { 7 result.push(arr[i

Javascript中的数组去重-indexof方法

在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. 1 var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1]; 2 var arr2 = []; 3 for(var i = 0;i < arr.length;i++){ 4 if(arr2.indexOf(arr[i]) == -1){ 5 arr2.push(arr[i]) 6 } 7 } 8 console.log(arr2) //[1,2,3,

数组去重--ES6方法

数组去重方法1:用es6的set和...扩展运算符 let arr = [1,2,3,4,4,5,2]; console.log([...new Set(arr)]) // [1, 2, 3, 4, 5] ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (l

JS数组去重 ES6 方法

let arr = [0, 0, 0, 0, 1, 2, 3, 4, 4, 5, 2, 3, 3, 3, 9, 8, 9]; //数组去重法1 console.log(Array.from(new Set(arr))); //数组去重法2 console.log(...new Set(arr)); //数组去重法3 let newarr = []; for (var i = 0; i < arr.length; i++) { if (newarr.indexOf(arr[i]) == -1) {