时间:2021-05-26
本文实例讲述了JS实现的合并多个数组去重算法。分享给大家供大家参考,具体如下:
var arr1 = ['a','b'];var arr2 = ['a','c','d'];var arr3 = [1,'d',undefined,true,null];//合并两个数组,去重var concat_ = function(arr1,arr2){ //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响 var arr = arr1.concat(); //或者使用slice()复制,var arr = arr1.slice(0) for(var i=0;i<arr2.length;i++){ arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0; } return arr;}console.log(concat_(arr1,arr2));运行结果:
var arr1 = ['a','b'];var arr2 = ['a','c','d'];var arr3 = [1,'d',undefined,true,null];//合并多个数组,去重var concat = function(arr1,arr2,arr3){ if(arguments.length <= 1){ return false; } var concat_ = function(arr1,arr2){ var arr = arr1.concat(); for(var i=0;i<arr2.length;i++){ arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0; } return arr; } var result = concat_(arr1,arr2); for(var i=2;i<arguments.length;i++){ result = concat_(result,arguments[i]); } return result;}console.log(concat(arr1,arr2,arr3));运行结果:
//合并多个数组,去重,排序var arr1 = [1,6,4,0];var arr2 = [8,20,7,4.5];var arr3 = [6,0,7,90,2];var concat = function(arr1,arr2,arr3){ if(arguments.length <= 1){ return false; } var concat_ = function(arr1,arr2){ var arr = arr1.concat(); for(var i=0;i<arr2.length;i++){ arr.indexOf(arr2[i]) === -1 ? arr.push(arr2[i]) : 0; } return arr; } var result = concat_(arr1,arr2); for(var i=2;i<arguments.length;i++){ result = concat_(result,arguments[i]); } //排序 function sortNumber(a,b){ return a - b; } return result.sort(sortNumber);}console.log(concat(arr1,arr2,arr3));运行结果:
PS:这里再为大家提供几款相关工具供大家参考使用:
在线去除重复项工具:
http://tools.jb51.net/code/quchong
在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript排序算法总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JS实现数组去重(重复的元素只保留一个)1、遍历数组法1.遍历数组法它是最简单的数组去重方法(indexOf方法)实现思路:新建一个数组,遍历去要重的数组,当值
本文实例讲述了JS实现的数组去除重复数据算法。分享给大家供大家参考,具体如下:在JS中经常会遇到去除数组中重复数据的需求,在此介绍四种算法以实现JS数组去重的功
js数组的新建,头插入,尾插入,头删除,尾删除,中间删除,删除多个,多个数组合并,数组倒序,数组截取等等,都有对应的例子。声明一个数组原来是如下声明:vars=
本文实例讲述了JS实现数组去重及数组内对象去重功能。分享给大家供大家参考,具体如下:大家在写项目的时候一定遇到过这种逻辑需求,就是给一个数组进行去重处理,还有一
本文实例讲述了JS实现的JSON数组去重算法。分享给大家供大家参考,具体如下:需求描述:去除JSON数组中paymode字段相同的项,并将paymoney累加。