Javascript Set和Map

一、Set遍历方法:

set.key()

set.values()

set.entries()

二、Set例子:

var s = new Set();

var arr = [1,1,2,3,6,8,8,9,10];

arr.map( x => s.add(x) );

for (i of s) {

  console.log(i);

}

打开结果:通过add,Set结构不会添加重复的值。

PS:Set对存入数据 1和‘1‘,是不识别,需求用 "===" .

三、Map

1、Map结构的目的和基本用法:
  JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键。这给它的使用带来了很大的限制。

2、例子:

var map = new Map([["name", "张三"], ["title", "Author"]]);

for (let item of map.entries()) {
  console.log(item[0], item[1]);
}

四、let:

区别:1、let和var只在循环是,有不同点;

2、var 声明的变量作用域不是块级的,会扩大变量的作用域,可能造成不必要的 shadow(变量覆盖),通常情况下都不是想要的结果;

let 声明的变量作用域就更精确,离开作用域变量就销毁。

时间: 2024-10-12 14:32:35

Javascript Set和Map的相关文章

javascript中使用Map

mis.comm.js.Map = function() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { return this.elements.length; } //推断MAP是否为空 this.isEmpty = function() { return (this.elements.length < 1); } //删除MAP全部元素 this.clear = function() { this.el

由实现JavaScript中的Map想到的

项目中要用到JavaScript中的Map数据类型,它不像JDK那样有自带的,怎么办?搜了找到一个不错的(http://darkmasky.iteye.com/blog/454749).用这个可以满足项目中要求.在找的过程中,发现这么个轻量级的实现.http://www.iteye.com/topic/196610帖子中,二楼myy的回复内容.应该说这个简单地实现可以满足我的一些需求,但它少了size方法. 在这个简单实现的基础上,自己能不能加一个size方法呢?而不地通过封装Array那样的重

javascript自定义简单map对象功能

这里介绍一种js创建简单map对象的方法: function Map() { //创建object对象, 并给object对象添加key和value属性 var obj1=new Object(); var obj2=new Object(); obj1.key="zhangsan" ; obj1.value=23; obj2.key="lisi"; obj2.value=25; //创建一个数组,将创建的object对象放如到数组中去 var map=new Ar

ES6新特性:Javascript中的Map和WeakMap对象

Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的key值在对象上面, 除非我们使用Object.create(null)创建一个没有原型的对象: 2:在Object对象中, 只能把String和Symbol作为key值, 但是在Map中,key值可以是任何基本类型(String, Number, Boolean, undefined, NaN..

JavaScript 数组函数 map()

JavaScript 数组函数 map() 学习心得 map()函数是一个数组函数: 它对数组每个原素进行操作,不对空数组进行操作: 不改变原本的数组,返回新数组: arr.map(function(item,index,arr){ },thisValue); item是必须的,其他不是必须的,函数中return不是必须的,会自动返回item thisValue是可选的,对象作为该执行回调时使用,传递给函数,用作 "this" 的值.如果省略了 thisValue,或者传入 null.

Javascript学习之Map和Filter函数实现方法详解

本文和大家分享的主要是JavaScript的Map和Filter函数的实现相关内容及其工作原理,一起来看看吧,希望对大家学习javascript有所帮助. Array.map Array.map通过对输入的数组中每一个元素进行变换,返回由变换后的元素按序组成的新数组.原始数组的值不会被修改.假设我们相对一个数组中的每一个元素乘以3,使用for循环可以这样写. for循环 var originalArr = [1, 2, 3, 4, 5];var newArr = [];for(var i = 0

JavaScript中的Map和Set

JavaScript的默认对象表示方法{}可以视为其他语言中的Map或者Dictionary的数据结构,即一组键值对. 但是JavaScript的对象有个小问题,就是键必须是字符串,但实际上Number或者其他数据类型作为键也是非常合理的. Map是一组键值对的结构,具有极快的查找速度. var m = new Map([['Michael',95],['Bob',75],['Tracy',85]]); m.get('Michael');//95 初始化Map需要一个二维数组,或者直接初始化一个

JavaScript数组遍历map()的原型扩展

在 JavaScript 1.6 里,javascript 数组增加了几个非常有用的方法:indexOf.lastIndexOf.every. filter. forEach. map. some,其中前两个可以归为元素定位方法,而后面的几个则可以归为迭代(iterative)方法. 遗憾的是:这些新方法并非所有浏览器都支持,在这种情况下,我们就需要自己动手了,在这些介绍的文章中,我们同时提供了在不支持这些新特性的浏览器中的实现方法. 原生方法如下: 1 var mappedArray = ar

JavaScript中的map方法

假设有一个函数f(x)=x2;作用在一个数组[1,2,3,4,5,6,7,8,9],通常我们会用遍历的方法来实现. function f(x){ return x * x; } var arr = [1,2,3,4,5,6,7,8,9]; var result = []; for(var i=0; i<arr.length; i++){ result.push(f(arr[i])) } 这样的确可以实现,但我们有更优雅的实现. function f(x) { return x * x; } va