原理:js对象的特性 : 在js对象中 key 是永远不会重复的
1 把数组转成一个js的对象
2 把数组中的值,变成js对象当中的key
3 把这个对象 再还原成数组
// 把数组转成对象function toObject(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)){ arr.push(attr); } }return arr; }// 综合的方法,去掉数组中的重复项function uniq(newArr){return keys(toObject(newArr)); }