本文實(shí)例講述了JS實(shí)現(xiàn)的合并多個(gè)數(shù)組去重算法。分享給大家供大家參考,具體如下:
var arr1 = ['a','b'];var arr2 = ['a','c','d'];var arr3 = [1,'d',undefined,true,null];//合并兩個(gè)數(shù)組,去重var concat_ = function(arr1,arr2){ //不要直接使用var arr = arr1,這樣arr只是arr1的一個(gè)引用,兩者的修改會(huì)互相影響 var arr = arr1.concat(); //或者使用slice()復(fù)制,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));
運(yùn)行結(jié)果:
var arr1 = ['a','b'];var arr2 = ['a','c','d'];var arr3 = [1,'d',undefined,true,null];//合并多個(gè)數(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));
運(yùn)行結(jié)果:
//合并多個(gè)數(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));
運(yùn)行結(jié)果:
PS:這里再為大家提供幾款相關(guān)工具供大家參考使用:
在線去除重復(fù)項(xiàng)工具:
http://tools.VeVB.COm/code/quchong
在線文本去重復(fù)工具:
http://tools.VeVB.COm/aideddesign/txt_quchong
在線動(dòng)畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過(guò)程工具:
http://tools.VeVB.COm/aideddesign/paixu_ys
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注