JS實現(xiàn)的合并多個數(shù)組去重算法示例
本文實例講述了JS實現(xiàn)的合并多個數(shù)組去重算法。分享給大家供大家參考,具體如下:
var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并兩個數(shù)組,去重 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));
運行結(jié)果:
var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并多個數(shù)組,去重 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));
運行結(jié)果:
//合并多個數(shù)組,去重,排序 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));
運行結(jié)果:
PS:這里再為大家提供幾款相關(guān)工具供大家參考使用:
在線去除重復項工具:
http://tools.jb51.net/code/quchong
在線文本去重復工具:
http://tools.jb51.net/aideddesign/txt_quchong
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
TypeScript中Array(數(shù)組)聲明與簡單使用方法
這篇文章主要給大家介紹了關(guān)于TypeScript中Array(數(shù)組)聲明與簡單使用的相關(guān)資料,TypeScript Array(數(shù)組)數(shù)組對象是使用單獨的變量名來存儲一系列的值,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12微信小程序開發(fā)之實現(xiàn)選項卡(窗口頂部TabBar)頁面切換
本篇文章主要介紹了微信小程序開發(fā)之選項卡(窗口頂部TabBar)頁面切換,具有一定的參考價值,有需要的可以了解一下。2016-11-11CSS javascript 結(jié)合實現(xiàn)懸浮固定菜單效果
本篇文章給大家介紹基于CSS javascript 結(jié)合實現(xiàn)懸浮固定菜單效果,附有源碼下載,需要的朋友可以參考下2015-08-08