javascript数组去重方法总结

作者: MJ 分类: javascript 发布时间: 2019-04-25 10:08

1:Lodash

_.uniq([2, 1, 2]);
// => [2, 1]

2:es6中的new Set()

 let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
 let set = new Set(array);
 console.log(set);
let array = Array.from(new Set([1, 1, 1, 2, 3, 2, 4]));//Array.from把类数组转换成数组
console.log(array);
// => [1, 2, 3, 4]

3:es5去重

var array = [1, '1', 1, 2, 3, 2, 4];
var tmpObj = {};
var result = [];
array.forEach(function(a) {
  var key = (typeof a) + a;
  if (!tmpObj[key]) {
    tmpObj[key] = true;
    result.push(a);
  }
});
console.log(result);
// => [1, "1", 2, 3, 4]

转:http://www.cnblogs.com/raocheng/articles/6549556.html

4:挂在Array的原型上

Array.prototype.hashset = function() {
    var a = {},
        b = [];
    for (var i = 0; i < this.length; i++) {
        a[this[i]] = this[i];

    }
    for (var c in a) {
        b.push(a[c]);
    }
    return b;
};

欢迎关注小程序,感谢您的支持!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注