今天小编给大家分享一下vue中数组如何去除重复数据的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
一、使用set结构去重
set是ES6中的一种数据结构,可以去除重复元素,其特征为无序且不重复,经常用于数组去重的场景。
let arr = [1, 2, 2, 3, 3, 4, 5]; let set = new Set(arr); arr = Array.from(set);
上面的代码中,我们首先定义了一个数组arr,然后通过new Set()方法将其转换为set集合,并将结果保存到set变量中。最后,我们再将set集合转换成数组。
二、使用indexOf方法去重
indexOf方法可以在数组中找到一个给定元素的第一个索引,如果没有找到就返回 -1,所以我们可以利用这个特性来进行数组去重。
let arr = [1, 2, 2, 3, 3, 4, 5]; let newArr = []; for (let i = 0; i < arr.length; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } arr = newArr;
上面的代码中,我们通过for循环遍历原始数组arr,在每次遍历时,使用indexOf方法查找当前元素在新数组newArr中的索引。如果没有找到索引,就将该元素添加到newArr中。
三、使用includes方法去重
includes方法是ES7的一个新方法,判断一个数组中是否包含一个指定的值,返回 true 或 false。我们可以根据这个特性来进行去重操作。
let arr = [1, 2, 2, 3, 3, 4, 5]; let newArr = []; for (let i = 0; i < arr.length; i++) { if (!newArr.includes(arr[i])) { newArr.push(arr[i]); } } arr = newArr;
上面的代码中,我们使用for循环遍历原始数组arr,在每次遍历时,使用includes方法判断当前元素是否在新数组newArr中,如果不存在,就将该元素添加到newArr中。