1.方法一:利用对象属性名的唯一性 去重 数字或者数组去重,效率高 function unique(arr){var result = {}; //利用对象属性名的唯一性来保证不重复for(var i=0;i<arr.length;i++){console.log("result[arr[i]]",result[arr[i]]);if(!result[arr[i]]){result[arr[i]] = true;}}console.log("result",result);return Object.keys(result); }var arr = [1,2,3,2,1,4,5]; console.log(unique(arr)); 2. 方法二: 通过新的数组存储,遍历结果的数组是否存在, 适配范围广,效率低 function unique(arr) {var result = []; // 结果数组for (var i = 0; i < arr.length; i++) {if (!result.includes(arr[i])) {result.push(arr[i]);}}return result; } 3. 方法三: 利用ES6的Set去重,适配范围广,效率一般,书写简单 function unique(arr) {return [...new Set(arr)] }