1、es6 set方法

  1. function unique (arr) {
  2. return [...new Set(arr)]
  3. }

Array.form 方法可以把类数组或者可遍历对象转换为真正的数组
利用的是ES6 set 的特性, set方法没有重复的元素

2、for 循环嵌套 然后splice 去重

  1. function unique(arr){
  2. for(var i=0;i<arr.length;i++){
  3. for(var j=i+1;j<arr.length;j++){
  4. if(arr[i]==arr[j]){
  5. arr.splice(j,1);
  6. j--
  7. }
  8. }
  9. }
  10. }

3、利用indexOf去重

  1. function unique(arr) {
  2. if (!Array.isArray(arr)) {
  3. console.log('type error!')
  4. return
  5. }
  6. var array = [];
  7. for (var i = 0; i < arr.length; i++) {
  8. if (array .indexOf(arr[i]) === -1) {
  9. array .push(arr[i])
  10. }
  11. }
  12. return array;
  13. }