当前位置: 首页 > news >正文

ES6入门---第三单元 模块四:Set和WeakSet

set数据结构:
    类似数组,但是里面不能有重复值,如果有,只显示一个

set用法:

    let setArr = new Set(['a','b']);

    setArr.add('a');   往setArr里面添加一项

let setArr = new Set().add('a').add('b').add('c');

    setArr.delete('b');    删除一项

    setArr.has('a')    判断setArr里面有没有此值

    setArr.size    个数

    setArr.clear();    清空

循环:

a)

let setArr = new Set(['a','b','c','d']);for(let item of setArr){//默认就是valueconsole.log(item);}

b). for(let item of setArr.keys()){console.log(item);}
c). for(let item of setArr.values()){}
d). for(let [k,v] of setArr.entries()){}

e). setArr.forEach((value,index) =>{
                    console.log(value, index);
                });

作用:

1、去重 

let arr = [1,2,3,4,5,6,7,6,5,4,3,2,1,2,3,4,4];let newArr = [...new Set(arr)];console.log(newArr);

补充:

1、让set数据结构变成数组:
    [...set]

2、想让set使用数组的,map循环和filter:

let set = new Set([1,2,3]);let set2 = new Set();for(let value of set.values()){set2.add(value*2);}console.log(set2);

 map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

let set = new Set([1,2,3]);set = new Set([...set].map(val=>val*2));console.log(set);

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

let set = new Set([1,2,3,4,5,6]);set = new Set([...set].filter(val=>val%2==0));console.log(set);

new Set([]);    存储数组, 这种写法对

错误:

 let set = new Set({a:1,b:2});set.forEach((item) =>{console.log(item);})

new WeakSet({})    存储json,这种写法不靠谱

    WeakSet没有size,也没有clear()

    有, add(), has(), delete()

初始往里面添加东西,是不行的。最好用add添加

http://www.dtcms.com/a/170558.html

相关文章:

  • LLama-v2 权重下载
  • Webug4.0靶场通关笔记14- 第18关 文件上传之Nginx解析缺陷
  • Python-Django系列—视图
  • 【ArcGIS微课1000例】0145:如何按照自定义形状裁剪数据框?
  • Rust与C/C++互操作实战指南
  • 软考-软件设计师中级备考 10、文件管理、设备管理
  • 《MATLAB实战训练营:从入门到工业级应用》工程实用篇-自动驾驶初体验:车道线检测算法实战(MATLAB2016b版)
  • 【Linux】日志与策略模式、线程池
  • 基于k8s系统的API网关-kong网关
  • Kubernetes(k8s)学习笔记(六)--KubeSphere前置环境安装
  • PowerShell 备份 Windows10/11 还原计算机驱动程序SOP
  • 复杂网络系列:第 5 部分 — 社区检测和子图
  • USB布局布线
  • 【iOS】 方法交换
  • C++负载均衡远程调用学习之Agent代理模块基础构建
  • 修复笔记:SkyReels-V2 项目中的 torch.load 警告
  • 使用 IDEA + Maven 搭建传统 Spring MVC 项目的详细步骤(非Spring Boot)
  • Linux中的粘滞位和开发工具和文本编辑器vim
  • 神经网络发展的时间线——积跬步至千里
  • terraform resource创建了5台阿里云ecs,如要使用terraform删除其中一台主机,如何删除?
  • 【ThinkBook 16+ 电脑重做系统type-c接口部分功能失效解决方案】
  • Ubuntu 系统上广受好评的浏览器推荐
  • Python 数据智能实战 (12):效果评估 - 超越传统指标
  • Monorepo项目多项目一次性启动工具对比与实践
  • 修复笔记:获取 torch._dynamo 的详细日志信息
  • 如何使用python保存字典
  • 【Java idea配置】
  • 深入了解Linux系统—— 环境变量
  • 8.2 GitHub企业级PDF报告生成实战:ReportLab高级技巧与性能优化全解析
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】2.4 正则表达式与文本处理(LIKE/REGEXP_MATCHES)