当前位置:   article > 正文

js基础学习之Set_js set

js set

js基础学习之set

背景

需求: 数组去重
给定一个数组,删除所有的重复元素,使得每个元素只出现一次

const numbers = [2,3,4,4,2,3,3,4,4,5,5,6,6,7,5,32,3,4,5]
console.log([...new Set(numbers)])
  • 1
  • 2

1 set基础学习

1.1 Set简述

Set是ES6新增的一种新的数据结构,类似于数组,但是成员是唯一且无序的,没有重复的值

ps: 意味着set里面添加重复的值会自动过滤掉

  • 问题一: 那能不能提供一个数组,然后转换成Set,那Set中的成员是唯一的就完成去重了
  • 问题二: 数组和Set是否可以相互转换

1.2 Set属性以及相关方法

1.2.1 构造函数Set()

Set()构造函数,创建Set对象,可以存储任意类型的唯一值

  • 任意类型: 无论是基本类型或者是对象引用或者函数(具体分析见实例方法add)
  • 唯一值:成员值不重复(具体分析见下面)

语法分析

new Set()
new Set(iterable)
  • 1
  • 2
  • 只能通过new 构建,因为这是构造函数
  • 参数要么为空(或者null)表示新的Set为空; 要么为可迭代对象会将非重复元素添加到新的Set中
  • 返回一个Set对象

示例分析
1.创建空的Set对象

let mySet = new Set();
//或者传参null
let mySet = new Set(null);
  • 1
  • 2
  • 3

2.创建只含有一个元素1的Set对象

//参数只能是可迭代对象或者null或者空;否则会报错
let mySet = new Set(1);
/*VM109:1 Uncaught TypeError: number 1 is not iterable (cannot read property Symbol(Symbol.iterator))
    at new Set (<anonymous>)
    at <anonymous>:1:13
*/

//想要创建只含有一个元素1的Set对象下面提供两种思路
//思路一:创建空的,然后往Set里面新增,Set里面提供实例方法Set.prototype.add()
let mySet = new Set();
mySet.add(
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/795115
推荐阅读
相关标签
  

闽ICP备14008679号