array unique

写在前面:
判断是否为数组

Array.isArray(arr) || function (arr){
  return Object.prototype.toString.call(arr)=='[object Array]'
  //{}.toString.call(arr)=='[object Array]'
}

1、两个循环(1分)
2、使用indexof(50分)

Array.prototype.unique = function () {
    var newArr = [];
    for (var i = 0; i < this.length; i++) {
        if (newArr.indexOf(this[i]) == -1) {
            newArr.push(this[i]);
        }
    }
    return newArr;
 }
var arr = ['a','b',1,4,5,8,4,3,1,'a','1'];
alert(arr.unique());//a,b,1,4,5,8,3,1  indexOf默认调用===,因此将1与'1'认为是不同

3、使用from (99分)

Array.from(new Set(array))

4、扩展运算符(100分)

[...new Set(array)]

你可能感兴趣的:(array unique)