JS两个数组比较,删除重复值的巧妙方法(推荐)
偶尔需要我们比较两个数组,在一个数组中删除另一个数组存在的值。我们常常用的方法是循环比较判断并删除,最近看到另一个好方法巧妙删除的例子:
var arr1 = ["i", "b", "c", "d", "e", "f","x"]; //数组A var arr2 = ["a", "b", "c", "d", "e", "f", "g"];//数组B var temp = []; //临时数组1 var temparray = [];//临时数组2 for (var i = 0; i < arr2.length; i++) { temp[arr2[i]] = true;//巧妙地方:把数组B的值当成临时数组1的键并赋值为真 }; for (var i = 0; i < arr1.length; i++) { if (!temp[arr1[i]]) { temparray.push(arr1[i]);//巧妙地方:同时把数组A的值当成临时数组1的键并判断是否为真,如果不为真说明没重复,就合并到一个新数组里,这样就可以得到一个全新并无重复的数组 } ; }; document.write(temparray.join(",") + "");
以上这篇JS两个数组比较,删除重复值的巧妙方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
如何高效率去掉js数组中的重复项
方式一: 常规模式 1.构建一个新的临时数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与临时数组对比 3.若临时数组中没有该元素,则存到临时数组中 方式二: 使用了默认Js数组sort默认排序,是按ASCII进行排序: 若要按照升降序的排列如下:<控制台打印输出> 1.先将当前数组进行排序 2.检查当前中的第i个元素 与 临时数组中的最后一个元素是否相同,因为已经排序,所以重复元素会在相邻位置 3.如果不相同,则将该元素存入结果数组中 方式三: <推荐>利
-
JS简单去除数组中重复项的方法
本文实例讲述了JS简单去除数组中重复项的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var arr = ["aaa","bb
-
JS生成不重复的随机数组的简单实例
JS生成不重复的随机数组的简单实例 //获取数组中的随机数 //HF.Math.RandomNumbers是前缀,可以自己定义,主要看逻辑代码 HF.Math.RandomNumbers = function (startNum, endNum, count, repeat) { var ret = []; if (repeat) { for (var i = 0; i < count; i++) { ret[i] = HF.Math.Random(startNum, endNum); } re
-
javascript删除数组重复元素的方法汇总
本文实例讲述了javascript删除数组重复元素的方法.分享给大家供大家参考.具体分析如下: 这里分享一个前端面试高频题,主要实现javascript删除数组重复元素.希望对初学者有所帮助 //数组去重的方法 Array.prototype.unique=function(){ //集中声明变量 var oldArr=this, newArr=[oldArr[0]], len=oldArr.length, i=1; //过滤空数组 if(!len) return this; //过滤重复元素
-
js 巧妙去除数组中的重复项
时不时的看下YUI的源码, 总会有些收获. 一. YUI中的源码' 复制代码 代码如下: var toObject = function(a) { var o = {}; for (var i=0, j=a.length; i<j; i=i+1) { // 这里我调整了下, YUI源码中是i<a.length o[a[i]] = true; } return o; }; var keys = function(o) { var a=[], i; for (i in o) { if (o.has
-
JS实现合并两个数组并去除重复项只留一个的方法
本文实例讲述了JS实现合并两个数组并去除重复项只留一个的方法.分享给大家供大家参考,具体如下: //It's merge arr1 and arr2 , delete the same element only leave one //It's only apdapter array. If object, no. //The sequence of the two array is not required. mergeArray:function (arr1, arr2){ for (var
-
JS求多个数组的重复数据
今天朋友问了我这个问题:JS求多个数组的重复数据 注: 1.更准确的说是只要多个数组中有两个以上的重复数据,那么这个数据就是我需要的 2.单个数组内的数据不存在重复值(当然如果有的话,你可以去重) 3.耗时问题,这一点很重要 源代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取多个数组中的重复数据<
-
javascript 删除数组中重复项(uniq)
可以直接使用的代码:我们修正版 function unique(data){ data = data || []; var a = {}; len = data.length; for (var i=0; i [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 下面是进阶教程与说明,喜欢跟深入的朋友可以参考下.首先让我们看下 YUI 是如何处理的: 复制代码 代码如下: var toObject = function(a) { var o = {}; for (var i = 0; i
-
JS数组去掉重复数据只保留一条的实现代码
非常不多说,js数组去掉重复数据的代码如下所示: var arr = [1,2,3,4,5,6,1,6,7,2]; var newArr = []; for(var i =0;i<arr.length-1;i++){ if(newArr.indexOf(arr[i]) == -1){ newArr.push(arr[i]); } } 下面再给大家分享高效率去掉js数组中重复项 Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: function unique(ar
-
javascript数字数组去重复项的实现代码
test.htm 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-
-
JavaScript合并两个数组并去除重复项的方法
本文实例讲述了JavaScript合并两个数组并去除重复项的方法.分享给大家供大家参考.具体实现方法如下: Array.prototype.unique = function() { var a = this.concat(); for(var i=0; i for(var j=i+1; j if(a[i] === a[j]) a.splice(j, 1); } } return a; }; //Demo var array1 = ["a","b"]; var ar
-
JavaScript中数组去除重复的三种方法
废话不多说了,具体方法如下所示: 方法一:返回新数组每个位子类型没变 function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { hash[a[i]]!=null; if(!hash[a[i]]){ arr.push(a[i]); hash[a[i]]=true; } } console.log(arr); } outRepeat([2,4,4,5,"a","a"
-
javascript中去除数组重复元素的实现方法【实例】
在实际应用中,我们很多时候都可能需要去除数组中的重复元素,下面就是javascript数组去重的方法实现: <script language="javascript"> <!-- /*判断数组中是否存在某个元素的方法*/ function isExistInArr(_array, _element){ if(!_array || !_element) return false; if(!_array.length){ return (_array == _elemen
随机推荐
- AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
- C#带你玩扫雷(附源码)
- nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
- 使用$.get()根据选项的不同从数据库异步请求数据
- Access字符串处理函数整理
- javascript 获取图片尺寸及放大图片
- Windows7下IIS+php配置教程
- javascript常用的方法分享
- PHP中实现获取IP和地理位置类分享
- python网络编程学习笔记(四):域名系统
- java实现简单的webservice方式
- mysql对binlog的处理说明
- 重新认识表格和一个访问无障碍的数据表格例子
- python中函数默认值使用注意点详解
- Transact_SQL 小手册
- sqlserver 查询数据库大小的方法
- 详解jquery easyui之datagrid使用参考
- 动态创建的表格单元格中的事件实现代码
- 深入理解JavaScript 闭包究竟是什么
- tomcat在opensuse下开机自启失败的原因分析及解决方法