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

格尔木市住建和城乡建设局网站网站建设设计公司+知乎

格尔木市住建和城乡建设局网站,网站建设设计公司+知乎,小制作小发明做法视频,企业网络推广软件Map JS的数据对象(Obejct),本质上是键值对的集合(Hash结构),但是传统上只能用字符串当作键(一定程度上对其的使用有限制) 比如下面代码 const data {} const element document.…

Map

JS的数据对象(Obejct),本质上是键值对的集合(Hash结构),但是传统上只能用字符串当作键(一定程度上对其的使用有限制)

比如下面代码

const data = {}
const element = document.getElementById('myDiv')data[element] = 'metaData'
data['[object HTMLDivElement]'] // "metadata"

上面代码原意是将一个 DOM 节点作为对象data的键,但是由于对象只接受字符串作为键名,所以element被自动转为字符串[object HTMLDivElement]

“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。(Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。)

如果需要“键值对”的数据结构,Map 构造函数比 Object 更合适。

具有极快的查找速度

在n中有很长的数据,但是利用Map则查找十分迅速:

const m=new map(['Kris',21],['Bob',19],['Lily',25],['Jack',27]);
m.get('Kris');   //  21
m.get('Lily');   //  25

初始化Map需要一个二维数组,或者直接初始化一个空Map,

let m=new Map();
//-----------------------
const m=new map(['Kris',21],['Bob',19],['Lily',25],['Jack',27]);
m.get('Kris');   //  21
m.get('Lily');   //  25

Map的方法

Map方法说明
set(key, val):向Map中添加新元素
get(key):通过键值查找特定的数值并返回
has(key):判断Map对象中是否有Key所对应的值,有返回true,否则返回false
delete(key):通过键值从Map中移除对应的数据
clear():将这个Map中的所有元素删除

一个key只能对应一个value,所以多次对一个key放入value,后面的值会把前面的值冲掉

Set

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set本身是一个构造函数,用来生成 Set 数据结构。

以下代码

const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) {console.log(i);
}
// 2 3 5 4

结果表明 Set 结构不会添加重复的值

向Set中加入值不会发生类型转换,所以5"5"是两个不同的值。

前面说到set结构不会添加重复的值意味着set内部会对值进行判断,使用的判断算法叫“Same-value-zero equality”,类似于精确相等符(===),但主要的区别是向Set加入值时认为NaN等于自身,而精确相等符认为NaN不等于自身

所以下面例子中Set里面只有一个NaN

let set = new Set();
let a = NaN;
let b = NaN;
set.add(a);
set.add(b);
set // Set {NaN}

另外两个对象总是不相等的

Array.from()方法可以将Set结构转为数组

所以去重(数组或者字符串)成员可以使用set

[...new Set(array)]
[...new Set('ababbc')].join('')
Array.from(new Set(array));

Set的方法

Set方法说明
add添加某个值,但会Set结构本身
delete删除某个值,返回一个布尔值,表示是否成功
has返回一个布尔值,表示该值是否为Set的成员。
clear清除所有成员,没有返回值。

WeakSet

http://www.yayakq.cn/news/344098/

相关文章:

  • 手游传奇新开服网站重庆seo网站推广工具
  • 怎么选择顺德网站建设帮人做任务的网站
  • 北京学做网站网站 位置导航
  • 在ppt里面做网站链接微信开发商是谁
  • 电子商务网站建设及其相关法律问题东莞公司网站制作要多少钱
  • python 做的网站有哪些赣州北京网站建设
  • 网站做百度推广吗昆明网站运营公司有哪些
  • 环艺做网站做不做生意都要知道的网站
  • 西安网站公司推广下载小程序
  • 网站做seo推广永嘉营销网站建设
  • 如何做竞价网站取名网站怎么做
  • 网络营销与管理海南短视频搜索seo哪家实惠
  • 西安响应式网站餐饮网站开发参考文献
  • php+mysql网站开发教程中国最好的包装设计公司
  • 做网站怎么用国处服务器云服务器可以建网站吗
  • 做企业网站的多少钱制作移动端网站价格
  • 公司做公司网站吉林网站建设电话
  • 网站调用接口怎么做电子商务网站建设软件开发课设
  • dede本地搭建好网站后台密码和用户名是什么wordpress短视频模板
  • 外贸公司的网站建设模板下载高端网站设计工作室
  • 郑州企业做网站h汉狮广州注销营业执照
  • 惠州做网站 百度优化整套vi设计都包含哪些
  • 网站软文代写华为云免费服务器
  • 有什么网站建设软件有哪些上海哪里做网站
  • 韩都衣舍网站建设的改进美食网页设计模板布局图
  • 定西企业网站制作公司网站建设 毕业设计
  • 网站建设相关的网站建设要学哪种计算机语言
  • 做网站的资金来源厦门网络营销公司
  • 学院网站建设报价淘宝网站怎么做会话保持的
  • 杭州专业做网站的公司永康市建设局网站