JavaScript - 利用js对象去掉数组的重复项

由于js中对象的key值永不重复,可以将数组转化为对象,去除重复值

1. 把数组转成js的对象

var toObject=function (arr) {
  var obj = {};
  var length;
  for (var i = 0, length=arr.length; i < length; i++) {
    obj[arr[i]] = true;
  }
  return obj;
}

2. 把当前对象,还原成数组

var keys=function (obj) {
  var arr=[];
  for(var attr in obj){
    if(obj.hasOwnProperty(attr)){
      arr.push(attr);
    }
  }
  return arr;
}

3. 将两个函数合并

var uniq=function (newarr) {
  return keys(toObject(newarr));
}

你可能感兴趣的:(JavaScript - 利用js对象去掉数组的重复项)