js数组排序之哈希去重 您所在的位置:网站首页 js数组排序去重 js数组排序之哈希去重

js数组排序之哈希去重

2023-07-30 04:32| 来源: 网络整理| 查看: 265

在接触一门语言一段时间之后,就一定得去积累一些常用的算法,今天来和大家分享一个数组去重的算法——hash去重。

以前在实现js的一些算法问题的时候还是用c的一些基础的编程思想来解决问题。在接触到对象之后,才发现,对象的真正的强大之处,而这个hash(哈希)数组去重的算法就是利用对象的一些特点进行编写的。上代码。

hash数组去重 //随便键入一些数字,将其存在数组中 var arr = [1,1,1,2,2,2,3,3,3,4,4,5,6,2,3,4]; //在数组原型上改变数组去重的方法 Array.prototype.unique = function () { //定义一个空数组,用来将去重结束后的结果返回 var arr = []; //定义一个空对象,用来判断数组中的数字中是否有这个对象的属性,(判断的条件) var obj = {}; //定义一个length,用来做循环的判断条件 var length = this.length; //循环遍历数组中的每个对象 for(var i = 0; i < length; i ++){ //判断obj这个对象上有没有数组对应数字的属性名称 if(obj[this[i]] == undefined){ //如果没有对象数组中数字的属性名称,就创建这个属性,并且添加属性内容 obj[this[i]] = this[i]; //将这个属性(也就是数字)push到这个新的arr数组中 arr.push(this[i]); } } //返回去重结束后的这个数组 return arr; }

 

这种使用判断对象属性名称是否存在(有则添加,无则忽视),从而通过添加数组中内容的思想还是比较新颖的。利用对象的一些属性进行功能的实现,



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有