关于前端:从一个简单的js加密解密的例子入手

32次阅读

共计 1163 个字符,预计需要花费 3 分钟才能阅读完成。

在 JavaScript 编程中,常常须要对数组进行去重操作。常见的去重办法有循环遍历、应用 Set 汇合、应用对象属性等。本文将介绍这些办法,并通过实例代码进行演示。

一、循环遍历

循环遍历是一种比较简单的数组去重办法。它的原理是遍历数组中的每个元素,将反复的元素去除。具体实现如下:

javascriptCopy codefunction unique(arr) {const result = [];
  for (let i = 0; i < arr.length; i++) {if (result.indexOf(arr[i]) === -1) {result.push(arr[i]);
    }
  }
  return result;
}

const arr = [1, 2, 3, 3, 4, 5, 5, 6];
console.log(unique(arr)); // [1, 2, 3, 4, 5, 6]

循环遍历的毛病是效率低,因为它须要对数组进行屡次遍历,工夫复杂度为 O(n^2)。

二、应用 Set 汇合

Set 汇合是 ES6 新增的一种数据结构,它能够存储不反复的值。应用 Set 汇合能够很不便地对数组进行去重。具体实现如下:

javascriptCopy codefunction unique(arr) {return [...new Set(arr)];
}

const arr = [1, 2, 3, 3, 4, 5, 5, 6];
console.log(unique(arr)); // [1, 2, 3, 4, 5, 6]

应用 Set 汇合的长处是效率高,因为它只须要遍历一次数组,工夫复杂度为 O(n)。

三、应用对象属性

应用对象属性是一种比拟奇妙的数组去重办法。它的原理是遍历数组中的每个元素,将元素值作为对象属性名,并将属性值设为 true。如果对象中曾经存在该属性名,则阐明该元素是反复的,能够疏忽。具体实现如下:

javascriptCopy codefunction unique(arr) {const obj = {};
  const result = [];
  for (let i = 0; i < arr.length; i++) {if (!obj[arr[i]]) {obj[arr[i]] = true;
      result.push(arr[i]);
    }
  }
  return result;
}

const arr = [1, 2, 3, 3, 4, 5, 5, 6];
console.log(unique(arr)); // [1, 2, 3, 4, 5, 6]

应用对象属性的长处是效率高,工夫复杂度为 O(n)。然而须要留神的是,该办法只实用于数组元素为字符串或数字的状况。

总结

本文介绍了 JavaScript 中的三种数组去重办法:循环遍历、应用 Set 汇合、应用对象属性。这些办法各有优缺点,具体应用要依据理论状况进行抉择

jsjiami.com

如果您对文章内容有不同认识, 或者疑难,欢送到评论区留言,或者私信我都能够。

也能够到上方网站,底部有我联系方式详谈。

正文完
 0