亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么以O(n)的復雜度實現數組的去重?(js)

怎么以O(n)的復雜度實現數組的去重?(js)

慕村9548890 2018-10-24 20:38:01
問題描述:如何以 `O(n)` 的時間復雜度實現字符序列的去重,如對以下數組去重[1, 'a', '1', 2, '2', 'b', 'b', null, null, , ,'null']1 和 ‘1’不算重復,undefined, null 也要保留。不使用ES6的語法。
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

var arr = [1, 'a', '1', 2, '2', 'b', 'b'];
let resultarr = [...new Set(arr)]; 
console.log(resultarr);//[1, "a", "1", 2, "2", "b"]

如果不去重對象的可以用下面的

var arr = [1, 'a', '1', 2, '2', 'b', 'b', null, null, , ,'null'];var obj = {};var result = [];for (var i = 0; i < arr.length; i++) {  var key = typeof arr[i]+arr[i];   if(!obj[key]){
     obj[key] = true;
     result.push(arr[i])
   }
}console.log(result);//或者不用多余的數組存儲for (var i = 0; i < arr.length; i++) {  var key = typeof arr[i]+arr[i];   if(!obj.hasOwnProperty(key)){
     obj[key] = arr[i];
   }
}console.log(Object.values(obj));//es5 for in遍歷


查看完整回答
反對 回復 2018-10-24
  • 1 回答
  • 0 關注
  • 1315 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號