🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
原理:利用一个空的对象的键存储数组的值,如果不存在该键,则将该值存入一个空的arr 方法一:直接实现 ``` var arr = [1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5]; var temp = {}; var test = []; arr.forEach(ele => { if(!temp[ele]) { //如果空的temp不存在该键 test.push(ele); temp[ele] = "abc"; } }) console.log(test); //[1, 2, 3, 4, 5] ``` 方法二:在原型上创建一个unique方法,所有数组均能调用 ``` var arr = [1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5]; Array.prototype.unique = function(){ var arr = []; var temp = {}; this.forEach(ele=>{ if(!temp[ele]) { //如果不存在该键 arr.push(ele); //则将该值存入新数组 temp[ele] = "abc"; console.log(ele); } }) return arr; } var test = arr.unique(); console.log(test); //[1, 2, 3, 4, 5] ```