
我用过的数组去重的方式有哪些?
答:
-
利用Set:
1234var a = [1,2,3,4,6], b = [1,4,5,6,7,8];var set = new Set(a.concat(b));// 或者 var set = new Set(a.concat(b));console.log(...set); -
时间复杂度M+N
12345678910111213var a = [1,2,3,4,6], b = [1,4,5,6,7,8];var obj = {};for(var i = 0; i < a.length; i++) {var temp = a[i];obj[temp] = true;}for(var j = 0; j < b.length; j++) {var temp = b[j];if(!(obj[temp])) {a.push(temp);}}console.log(a); -
时间复杂度M or N
123456789var a = [1,2,3,4,6], b = [1,4,5,6,7,8];var newArr = b.slice(0);for(var j = 0; j < a.length; j++) {const temp = a[i];if(newArr.indexOf(temp) < 0) {newArr.push(temp);}}
|
|




近期评论