<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type="text/javascript" charset="utf-8"> var arr = [1,1,2,3,3,4,8,8,5,6,6,9]; //js对象的特性: 对象中的 key 永远不会重复 /* var obj = {}; obj.name = 'zhangsan'; //alert(obj.name); obj.name = 'lisi'; alert(obj.name); //会覆盖掉张三 */ //1,把数组转成 js 对象 //2,把数组中的值 变成js对象的key //3,把这个对象 再还原成数组 //把数组转对象 function toObj(arr){ var obj = {}; //私有的的对象 var j ; for(var i=0 ,j= arr.length; i<j;i++){ obj[arr[i]] = true ; } return obj; } //把对象转成数组 function keys(obj){ var arr = [];//私有对象 for(var attr in obj){ if(obj.hasOwnProperty(attr)){ //YUI底层代码 arr.push(attr); } } return arr; } //综合 function uniq(newarr){ return keys(toObj(newarr)); } alert(uniq(arr)); // </script> </head> <body> </body> </html>
欢迎关注个人公众号一起交流学习: