在 JavaScript 编程中,数组去重是一项常见且重要的操作,它能帮助我们优化数据处理,提高程序的效率和性能,究竟有哪些巧妙的方法可以实现 JS 数组去重呢?
方法一:利用 ES6 的 Set 数据结构,Set 数据结构的特点是成员值都是唯一的,没有重复的值,通过将数组转换为 Set 再转换回数组,就能轻松实现去重。
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));
方法三:通过两层循环进行比较去重,外层循环遍历数组,内层循环从外层循环的当前元素的下一个位置开始遍历,比较元素值,如果相同则删除内层循环的当前元素。
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 编程书籍及相关技术论坛。