-
2019-10-11 10:54:05
const items = new Set([1, 2, 3, 4, 5, 5]); //去重 const array1 = [...items]; //2.转成数组
更多相关内容 -
JS中Set去重
2019-09-03 15:43:24Set类似于数组,但成员均是唯一的,没有重复值。Set本身是一个构造函数,用来生成Set数据结构。 数组去重 const arr=[2,2,3,4,4]; const uniqe=[...new Set(arr)]; //[2,3,4] Array.from方法可以将Set结构转换...Set类似于数组,但成员均是唯一的,没有重复值。Set本身是一个构造函数,用来生成Set数据结构。
数组去重
const arr=[2,2,3,4,4]; const uniqe=[...new Set(arr)]; //[2,3,4]
Array.from方法可以将Set结构转换为数组
//一个去重函数 function unique(arr){ return Array.from(new Set(arr)); } unique([1,1,2]) //[1,2]
字符去重
Set可以容易实现并集union和交集intersect和差集difference
let a=new Set([1,2,3]); let b=new Set([4,3,2]); //并集 let union=new Set([...a,...b]); //Set{1,2,3,4} //交集 let intersect=new Set([...a].filter(x=>b.has(x))); //Set{2,3} //差集 let difference=new Set([...a].filter(x=>!b.has(x))); //Set{1}
-
JS数组去重之利用set数据结构去重
2018-03-15 17:27:18在常用的JS去重方法中,都是通过循环遍历来去重,难免麻烦了不少。这边发现ES6中有更加方便的去重方式,记录一下。 1、set数据结构 ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复...在常用的JS去重方法中,都是通过循环遍历来去重,难免麻烦了不少。这边发现ES6中有更加方便的去重方式,记录一下。
1、set数据结构
ES6提供了新的数据结构Set。类似于数组,只不过其成员值都是唯一的,没有重复的值。
这边就是利用set没有重复值的特性,进行去重:function dedupe(array){ return Array.from(new Set(array)); } dedupe([1,1,2,3]) //[1,2,3]
解释:
1、先新建个dedupe函数,传入数据是数组
2、传入的数组通过new set()转化为set数据格式,此时就已经把重复值给去掉了。
3、通过Array.form方法,把set数据结构转换为数组即可。
4、关于Array.form函数也是ES6新出的语法,请参考博客end
-
JS - 数组去重的几种常用方法
2022-02-27 18:05:01js-数组去重的几种常用方法 1,使用ES6中的 Set 方法去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 很多时候我们把Set叫做集合; 注意,Set可以是集合,集合不一定是Set...js-数组去重的几种常用方法
1,使用ES6中的 Set 方法去重
- ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 很多时候我们把Set叫做集合;
- 注意,Set可以是集合,集合不一定是Set;
set集合转换为真正的数组的两种方法如下:
// 1.展开操作符 let s = new Set([1,2,3,4]) console.log([...s]); // 2.Array.from() 也是es6语法 let s2 = new Set([1,2,3,4]) console.log(Array.from(s2));
Set 方法去重*
let arr = [1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7]; let set = new Set(arr); // 这一步就已经去重了,但还不是数组,是一个set集合 let newArr = [...set]; // 这里是转为一个真正的数组 console.log(newArr); // 输出 结果如下: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2,使用双重for循环,再利用数组的splice方法去重(ES5常用)
splice删除用法:
要传两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数)var arr = [1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7]; // 每一项与下一项进行比较 function quchong(arr) { for (var i = 0, len = arr.length; i < len; i++) { for (var j = i + 1, len = arr.length; j < len; j++) { if (arr[i] === arr[j]) { arr.splice(j, 1); // 把当前这一项干掉 j--; // 每删除一个数j的值就减1 } } } return arr; } console.log(quchong(arr)); 结果如下: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
3,使用数组的indexOf方法去重
注:array.indexOf(item,statt) 返回数组中某个指定的元素的位置(返回的是下标),没有则返回-1// 数组的splice方法去重 var arr = [1, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 7]; function quchong(arr) { var newArr = []; // 新建一个数组来存放arr中的值 for (var i = 0, len = arr.length; i < len; i++) { if (newArr.indexOf(arr[i]) === -1) { newArr.push(arr[i]); } } return newArr; } console.log(quchong(arr)); 结果如下: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
如有错误,清多指出。
-
JS数组去重的方法及原理(全)
2020-01-28 20:21:37前端遇到最多的无非就是循环,判断,处理后台返回的数据了,那么今天介绍一下数组去重的几种常用方法。 一, -
js去重方法以及Set、Map、Array.from方法的使用
2022-01-29 10:00:39去重方法1: arrHeavy(arr){ let map = new Map() ... map.set(item, item) } } return [...map.values()] } 去重方法2: mapGet (arr) { for (let i = 0; i < arr.length; i++) { f -
js代码-去重:Set 对象 + 解构赋值
2021-07-16 14:44:07js代码-去重:Set 对象 + 解构赋值 -
JavaScript Set()对象 实现去重
2022-04-19 13:13:04Set()对象里的值具有唯一性,我们可以利用这个特性进行数组去重 let arr=[2,2,2,8,8,55,55,0.1,0.1,"i","i",null,null,undefined,undefined,NaN,NaN]; let newArr=[]; function removing(arr){ newArr=Array.from... -
关于使用set去重对象无效的问题
2019-01-21 20:41:29关于使用set去重对象无效的问题 最近使用set去重遇到对于集合为对象的集合,使用set无效的问题解决办法: 假如有一个List users的对象,现在去重集合中重复的user对象,利用set集合特性进行去重 Set<user&... -
JS 利用 Set 对数组中对象进行去重
2021-11-15 15:19:48JS中怎么对一个数组进行去重?相信很多人对这个问题都已经很熟悉了,最简便的方法就是使用 Set ???? let arr = [1, 2, 3, 3, 4, 5, 5]; console.log([...new Set(arr)]); // [1, 2, 3, 4, 5] 那么如何对数组中的... -
js通过Set对象实现数组去重
2021-04-15 16:06:47上一次用了Map的方式对数组去重:es6通过Map对象对数组去重 偶然发现Set对象更加容易 const arry = [1, 2, 1, "1", "2", "1"]; console.log(Array.from(new Set(arry))); Array.from()方法就是将Set转为数组,对于这... -
JS技巧---Set数组去重
2018-08-23 11:09:52在 ES6 中,引入了一个新的数据结构类型:Set。而 Set 与 Array 的结构是很类似...下面我们看看用 Set 和 …(拓展运算符)可以很简单的进行数组去重。 const removeDuplicateItems = arr => [...new Set(ar... -
浅析Set去重的原理
2020-11-23 09:54:10public class TestSet { public static void main(String[] args) { // TODO Auto-generated method stub // 使用顺序存储结构存储 Set set = new HashSet(); Student s1= new Student(1,"张三"); ... -
js不同去重算法的性能
2021-09-25 23:13:46数组去重是一个老生常谈的问题,我们前端在实际的开发也会遇到,现在已经有各种各样的数组去重解法,下面对不同数组去重方法进行性能分析,让大家了解那种解法的时间复杂度低,运行效率高。 一、利用filter筛选... -
js使用set方法对数组中的数据进行去重
2020-07-17 10:55:58js使用set方法对数组中的数据进行去重 数组中的元素可以是数字,对象等,如果重复,可以使用set方法去重,然后再使用Array.from转换成数组,方法如下 Array.from(new Set(checkedArr)) -
set 去重对象Object
2017-09-11 18:45:09最近在公司要用到大量数据去重,然后网上一查说用set最简单方便了(大家应该知道set里面的数据是不允许重复的),用法其实很简单网上都有。然后我就用了发现没有成功,根本没有达到去重效果(我造的数据里面有2条... -
js数组去重和复杂数组去重reduce,set,filter,indexOf,lastIndex
2021-08-15 16:57:40//方法1:set去重 let res1 = new Set(arr); console.log([...res1]); 记得输出时用展开语法将结果放到数组里面呀~~~~~ 输出:[1,2,3,4,5]. 方法2:使用数组自带的filter()函数 //方法2:filter let res2 = arr... -
Set去重原理和内部实现
2018-10-07 10:15:14Set去重的原理非常简单,Set的内部是通过Map来实现的。 我们选取平时常的HashSet来分析 private transient HashMap<E,Object> map; private static final Object PRESENT = new Object(); /** ... -
高性能js数组去重(12种方法,史上最全)
2021-01-19 16:12:14数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有...一、利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } -
Javascript set结构 (去重)
2018-10-09 20:18:01javascript 的set结构用来去重非常方便,这里记录一下。 文章目录1 背景2 set数据结构2.1 set创建2.2 set 加入或删除key操作2.3 set转数组 1 背景 最近遇到问题,要记录某个人曾经用过的手机和操作系统记录到一个... -
JS数组去重的12种解决方法
2022-04-23 20:05:34如果返回true就留下,false就过滤掉 – reduce:收敛 方法一:set :不是一种数据类型,是一种数据结构;成员唯一 let arr = [12,1,12,3,1,88,66,9,66]; function unique(ary) { let s = new Set(ary); // Array.... -
JS去重的几种方法
2021-02-20 20:42:431、利用set去重 代码如下(示例): function arr1(arr) { return Array.from(new Set(arr)) } var arr = [1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 4, 2, 4, 1,]; console.log(arr1(arr)) 这是目前最简单的去重方法,但是不... -
js数组的排序和去重方法
2021-09-21 11:16:14数组的去重 js的简单数组排序 第一种: // 冒泡排序:把所有数据按照一定的顺序进行排序 var arr1 = [10, 90, 55, 43, 23, 8, 79]; //循环控制比较的轮数 for (var i = 0; i < arr1.length - 1; i++) { //... -
js中数组去重
2019-10-16 09:54:16js中的数组去重 1.创建一个新数组,把数组中的每一个元素插入到新数组中 2.遍历原数组中每一个元素分别和新数组中的每一个元素进行比较 1.对一个数组去重处理 第一种去重方法 <script> //原数组 var arr = ... -
js最简单的数组去重方法set数组去重
2020-04-13 10:04:59js最简单的数组去重方法set数组去重 function newArr(arr) { return Array.from(new Set(arr)) } -
JS - Map Set & 去重方法
2020-08-17 22:28:05Object则按照键名的字典序排序 Set Set是一种数据结构,特点是不能存放相同的元素,可用于数组去重 var setArray = new Set([1, 1, 2, 2, 3]); for (let value of setArray) { console.log(value); } console.log... -
【js基础】数组去重的几种方式
2022-02-22 17:46:54一:元素比较 1.双层for循环 function uniq (arr){ for(let i = 0 ;i 双层循环 时间复杂度O(n2) 因为使用 === 对比,NaN === NaN 是false,所以重复的NaN不能去掉哦 2.排序并进行相邻比较 ... set是可以去重NaN的。 -
JS 利用set去重,再转数组
2019-02-25 09:32:59let arr = [1,2,3,4,2,3]; let s = new Set(arr); console.log(s); // Set(4) {1, 2, 3, 4} var s1 = Array.from(s); console.log(s1); // [1, 2, 3, 4] -
js Array去重
2021-03-01 10:04:43最近需要用到js去重,突然忘记怎么搞了,查了下想起来了,记录下,以免再忘记 使用Set 从这个console的test就可以看出来,因为set里都是非重的,所以可以利用set来去重,new set之后再转回Array.,返回一个新的Array,原来的... -
js数组去重的三种方法
2022-04-02 21:19:03构造Set()的实例,使用Set的add方法添加元素, 因为Set 中的元素是唯一的,所以目前是去重的对象 使用Array.from把对象转为数组就ok function removeRepete(array){ let newSet=new Set() array.forEach(v => ...
收藏数
17,683
精华内容
7,073