算法-利用object的key唯一性刪除數組重復項
阿新 • • 發佈:2017-08-03
算法 重復項
# 利用object的key唯一性刪除數組重復項 # uniq.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> var arr=[12,34,22,34,55,90,66,12,90,9,12,33,22] //將數組轉換為object,數組的元素轉換為Object的key function toObject(arr){ var obj={} for (var i = arr.length - 1; i >= 0; i--) { obj[arr[i]]=true } return obj } //obj的key還原為arr的元素 function toArray(obj) { var arr=[] for (var attr in obj) { if (obj.hasOwnProperty(attr)) { arr.push(attr) } } return arr } //刪除重復項的代碼 function uniq(arr){ return toArray(toObject(arr)) } var u=uniq(arr) console.log(‘刪除重復前:‘+arr) console.log(‘刪除重復後:‘+u) </script> </head> <body> </body> </html>
# result: 刪除重復前:12,34,22,34,55,90,66,12,90,9,12,33,22 刪除重復後:9,12,22,33,34,55,66,90
算法-利用object的key唯一性刪除數組重復項