js 数组去重方法

1):indexOf();声明一个新的空数组,遍历原数组,判断如果新数组中不存在该项,则push到新数组中

2)hash;声明一个新的数组和对象,遍历原数组,如果对象不具备该项值属性,给新对象添加该项值属性,并把该项push进新数组,

3)sort();对原数组进行排序,声明一个新的数组push原数组第一项的值,遍历原数组,如果不等于新数组尾项的值,则push

总结:个人觉得方法一逻辑更清晰,实现也更简单

原文地址:https://www.cnblogs.com/llmatch/p/9186395.html

时间: 2024-08-23 14:58:13

js 数组去重方法的相关文章

js数组去重方法

这里提供了3种方法,都比较常见,可以一种一种往下看,越往下,性能越高. 第一种是比较常规的方法,思路如下: 1.构建一个新的数组,新的数组同其中一个一样,存放结果 2.for循环中每次从另一个数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中 代码如下: var arr1 = [1,2,3,4,5,6]; var arr2 = [9,8,7,6,5,4]; var arr = unitArray( arr1,arr2 ); alert(arr); fu

三种常用的js数组去重方法

第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中 Array.prototype.unique1 = function(){ var res = [this[0]]; for(var i = 1; i < this.length; i++){ var repeat = false; for(var j = 0; j < res.length; j++){ if(t

js 数组去重方法总结

var arr = [1, 1, 'true', 'true', true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN, 'NaN', 'NaN', 0, 0, 'a', 'a', {}, {}]; /* * ES3 的方法 */ // 方法一 思路:新建空数组,利用双层for循环,逐一取出传入数组的项与新数组中的每一项做对比,如果没有相同的则将该项插入新数组中,如果对比项相同则跳出当前循环回到父

js数组去重方法集合

//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来 var arr = ['a', 1, 1, 1, 2, 4, 4, 'b', 'c', 'a']; var newArr = []; var len = arr.length; for (i = 0; i < len; i++) { var flag = false; for (var member of newArr) { if (member === arr[i]) { flag =

js数组去重方法封装

Array.prototype.unique = function (){ var temp = {}, arr = [], len = this.length; for(var i = 0; i < len; i++){ if(!temp[this[i]]){ temp[this[i]] = 'abc'; arr.push(this[i]); } } return arr; } 原文地址:https://www.cnblogs.com/summer-qd/p/10954364.html

js数组去重的4种方法

js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, j = this.length; i < j; i++) { if (this[i] === item) { return i; } } return -1; } Ar

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数组去重的几种常见方法

JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } ret

javaScript数组去重方法

在JAvascript平时项目开发中经常会用到数组去重的操作.这时候就要用到JS数组去重的方法了. demo1: 第一种:JS数组去重操作方法是利用遍历原数组,利用数组的indexOf()方法来来判断新数组b中是否有原数组a中的元素,如果没有的话则在b数组的后面追加上a[i],如果有的话就不执行任何操作,最后可以达到数组去重的操作. 这种方法应该是平时开发中最常用的JS数组去重的方法了,简单又实用. demo2: 第二种去重的方法比较巧妙,是定义一个空对象和一个空数组,在遍历原数组的时候来用原数