JavaScript Set集合相关操作、Set转数组、数组去重

Set

Set是一种类似于Map的数据结构,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key,这种特性就起到数据去重的效果,重复的数据不会被写入到Set中。

创建Set对象

//创建一个空的SET
let sets = new Set();
//可以传入数组-数组转set
let sets1 = new Set([1,2,3,4]); //Set(4) {1, 2, 3, 4}
//重复数据不会添加到set中
let sets2 = new Set([1,2,2,4]); //Set(3) { 1, 2, 4 }

Set加入(add方法)或删除(delete方法)key操作

sets.add(1,2,5); //Set(1) {1}         只能加入第一个
sets.add(5);	 //Set(2) {1, 5}      加入一个key(5)
sets.add(5);	 //Set(2) {1, 5}      重复加入无效
sets.delete(1);	 //true      表时元素删除成功
sets.delete(1);	 //false     表时元素删除失败,因为重复删除无效

Set转数组及数组去重

//使用Array 提供的from方法将Set集合转为数组
let arr = Array.from(sets1);	//[ 1, 2, 3, 4 ] 
//数组去重
let arr2 = [1, 2, 3, 4, 2, 3];
arr2 = Array.from(new Set(arr2));	//[1, 2, 3, 4]

当然,也可以使用for循环进行数组去重:

let arr2 = [1, 2, 3, 4, 2, 3];
function arrDuplicateRemoval(arr){
		let newArr = [];
		for(let i = 0; i < arr.length; i++){
  		let flag = true;
  			for(let j = 0; j < newArr.length; j++){
   		  if(arr[i] == newArr[j]){
      	     flag = false;
            };
        }; 
  		if(flag){
    		newArr.push(arr[i]);
  		};
	}
	return newArr;
}

let a = arrDuplicateRemoval(arr2); 
console.log(a);  //[1, 2, 3, 4]
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值