array unique

作者: 大前端之路 | 来源:发表于2017-05-11 14:09 被阅读0次

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

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

    本文链接:https://www.haomeiwen.com/subject/ttyotxtx.html