美文网首页
如何实现数组去重?

如何实现数组去重?

作者: joker731 | 来源:发表于2018-01-13 07:25 被阅读18次

假设有数组 array = [1,5,2,3,4,2,3,1,3,4]
你要写一个函数 unique,使得
unique(array) 的值为 [1,5,2,3,4]
也就是把重复的值都去掉,只保留不重复的值。

要求:不要做多重循环,只能遍历一次,请给出两种方案,一种能在 ES 5 环境中运行,一种能在 ES 6 环境中运行(提示 ES 6 环境多了一个 Set 对象)

方案一:

var array =[1,5,2,3,4,2,3,1,3,4]
function unique(ar) {
    var tmp = {},
        ret = [];

    for (var i = 0, j = ar.length; i < j; i++) {
        if (!tmp[ar[i]]) {
            tmp[ar[i]] = 1;
            ret.push(ar[i]);
        }
    }

  console.log(ret)
}
unique(array)

方案二:

var array = [1,5,2,3,4,2,3,1,3,4]
function unique(arr){
      return Array.from(new Set(arr))
  }
unique(array)

相关文章

网友评论

      本文标题:如何实现数组去重?

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