ES6初识-(冲突)数据结构

Set的用法

  • 元素不能重复--唯一性

WeakSet

  • key值只能是对象
  • 没有clear属性

Map

  • let map=new Map([[‘a‘,123],[‘b‘,456]]);;

WeakMap

  • let o={};
  • weakmap.set(o,123);
  • console.log(weakmap.get(o));

Map与Array的对比

时间: 2024-10-04 06:55:57

ES6初识-(冲突)数据结构的相关文章

ES6 之 Set数据结构和Map数据结构 Iterator和for...of循环

ECMAScript 6 入门 Set数据结构 基本用法 ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); [2, 3, 5, 4, 5, 2, 2].map(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向Set结构加入成员,结果表明Set结构不会添加重复的值. 向S

ES6的JavaScript数据结构的实现

目的:ES6标准下的JS数据结构的一些实现代码.(作为记录和启发) 内容:栈.(未完成,待继续) 一.数据结构 1.栈(先入后出) // @ts-check class Stack { constructor() { this.count = 0; this.items = {}; } push(element) { this.items[this.count] = element; this.count++; } pop() { if (this.isEmpty()) { return und

ES6中map数据结构学习

在项目中遇到一个很恶心的需求,然后发现ES6中的map可以解决,所以简单学习了一下map. Javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是“字符串-值”对,属性只能是字符串,如果传个对象字面量作为属性名,那么会默认把对象转换成字符串,结果这个属性名就变成“[object Object]”:. ES6提供了“值-值”对的数据结构,键名不仅可以是字符串,也可以是对象.它是一个更完善的Hash结构. 1.键值对,键可以是对象 const map1 = new Ma

了解ES6的Map数据结构

<script> /* Map数据结构是ES6推出的,它是一个类对象,普通对象的键值只能使用string,而map数据结构的键值可以使用任意对象,不受限制 Map是一个构造函数,通过new Map() 来构建 如果需要键值对的数据格式,Map比Object更加适合 如果对同一个键进行重复赋值,那么前面的值会被后替换 拥有于set数据结构同样的遍历方法,遍历的顺序就是数据插入的顺序 转化为数组结构可以使用展开运算符 ... */ let map = new Map([ [{a:'a'},123]

ES6,新增数据结构Set的用法

ES6 提供了新的数据结构 Set. 特性 似于数组,但它的一大特性就是所有元素都是唯一的,没有重复. 我们可以利用这一唯一特性进行数组的去重工作. 单一数组的去重. let set6 = new Set([1, 2, 2, 3, 4, 3, 5]) console.log('distinct 1:', set6) 结果: distinct 1: Set { 1, 2, 3, 4, 5 } 多数组的合并去重 let arr1 = [1, 2, 3, 4] let arr2 = [2, 3, 4,

ES6初识-Proxy和Reflect

{ let obj={ time:'2017-03-11', name:'net', _r:123 }; let monitor=new Proxy(obj,{ // 拦截对象属性的读取 get(target,key){ return target[key].replace('2017','2018') }, // 拦截对象设置属性 set(target,key,value){ if(key==='name'){ return target[key]=value; }else{ return t

ES6初识-Symbol

Symbol的概念 变量是独一无二的 let a1=Symbol(); let a2=Symbol(); a1和a2严格意义不相等 let a3=Symbol.for('a3'); let a4=Symbol.for('a3'); console.log(a3===a4); 如果在对象中使用Symbol变量,就可以用Object.getOwnPropertySymbols(obj).forEach(function(tiem){ }) or Reflect.OwnKeys(obj).forEac

ES6初识- Class

{ //基本定义和生成实例 class Parent{ //构造函数 constructor(name='lisi'){ this.name=name; } //属性get,set get longName(){ return 'china'+this.name; } set longName(value){ this.name=value; } } class Child extends Parent{ constructor(name='Child'){ super(name); this.

ES6初识-Decorator

开始先按照个插件 npm install babel-plugin-transform-decorators-lagacy --save-dev 1.扩充和修改类的行为 2.修改的行为@readonly 在方法的前面进行标志 3.第三方哭修饰器js库,core-decorators; npm install core-decorators --save-dev