对码当歌,猿生几何?

JavaScript-使用objec数组去重

原理: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));
}