JS 数组去重的神奇技法大揭秘

频道:手游攻略 日期: 浏览:2

在 JavaScript 编程中,数组去重是一项常见且重要的操作,它能帮助我们优化数据处理,提高程序的效率和性能,究竟有哪些巧妙的方法可以实现 JS 数组去重呢?

方法一:利用 ES6 的 Set 数据结构,Set 数据结构的特点是成员值都是唯一的,没有重复的值,通过将数组转换为 Set 再转换回数组,就能轻松实现去重。

JS 数组去重的神奇技法大揭秘
const array = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
const uniqueArray = Array.from(new Set(array));
console.log(uniqueArray);

方法二:使用对象属性来标记元素是否已出现,创建一个空对象,遍历数组元素,如果对象中不存在该元素,则将其添加到新数组中,并在对象中标记该元素已存在。

function removeDuplicates(arr) {
  let obj = {};
  let result = [];
  for (let i = 0; i < arr.length; i++) {
    if (!obj[arr[i]]) {
      result.push(arr[i]);
      obj[arr[i]] = true;
    }
  }
  return result;
}
const array = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
console.log(removeDuplicates(array));

方法三:通过两层循环进行比较去重,外层循环遍历数组,内层循环从外层循环的当前元素的下一个位置开始遍历,比较元素值,如果相同则删除内层循环的当前元素。

JS 数组去重的神奇技法大揭秘
function unique(arr) {
  for (let i = 0; i < arr.length; i++) {
    for (let j = i + 1; j < arr.length; j++) {
      if (arr[i] === arr[j]) {
        arr.splice(j, 1);
        j--;
      }
    }
  }
  return arr;
}
const array = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];
console.log(unique(array));

就是几种常见的 JS 数组去重方法,您可以根据实际需求选择合适的方法。

文章参考来源:各类 JavaScript 编程书籍及相关技术论坛。