以下是一种基本的实现方式:

function uniqueArray(arr) {
  var result = [];
  for (var i = 0; i < arr.length; i++) {
    if (result.indexOf(arr[i]) === -1) {
      result.push(arr[i]);
    }
  }
  return result;
}

// 示例
var arr = [1, 2, 3, 2, 4, 3, 5];
var uniqueArr = uniqueArray(arr); // [1, 2, 3, 4, 5]

这种方法通过循环原数组,判断每个元素是否已经存在于结果数组中,如果不存在则添加到结果数组中。缺点是时间复杂度较高,当数组较大时性能可能会受到影响。

还有一种使用 ES6 的 Set 对象的方法:

function uniqueArray(arr) {
  return Array.from(new Set(arr));
}

// 示例
var arr = [1, 2, 3, 2, 4, 3, 5];
var uniqueArr = uniqueArray(arr); // [1, 2, 3, 4, 5]

这种方法先将原数组转换为 Set 对象,Set 对象会自动去重,然后再将 Set 对象转换为数组返回。优点是代码简洁,性能较高

用js写一个数组去重的方法

原文地址: http://www.cveoy.top/t/topic/fERk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录