Show me the code
- Set
语法:new Set([iterable])
参数介绍:
- iterable
如果传递一个可迭代对象,它的所有元素将被添加到新的 Set中。如果不指定此参数或其值为null,则新的 Set为空。
- iterable
返回值
一个新的Set对象。简单说一下为什么要用 Set,因为 Set中的值具有唯一性(划重点!!!)。
唯一性!
所以,我就用它来去重。
嗯,对。
只用来数组去重!!!
1 | const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 0]; |
只能 Array?1
2const text = 'prototype';
new Set(text); // Set {"p", "r", "o", "t", "y", "e"} 我是 String Set的
上面说到它的返回值是一个对象
So, 它有自己属性及方法。1
2
3
4
5const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 0];
const mySet = new Set(arr);
mySet.size; // 6 剩 6 个了
mySet.length; // undefined
都叫 ‘size’了,当然是它的个数啊,
没 length(手动痴呆脸)我就试试看而已…1
2
3
4
5
6
7
8
9
10
11
12const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 0];
const mySet = new Set(arr);
/* 我要加个 10 */
mySet.add(10) // [1, 2, 3, 4, 5, 0, 10] 加上了!
/* 我要加个 1 */
mySet.add(1) // [1, 2, 3, 4, 5, 0] 233 加不上!说了 Set有唯一性了!
/* 我不要 0 了 */
mySet.clear(0) // undefined !!!
mySet.clear() // undefined !!!
刷出来算我输…
Set.prototype.clear(),没参数,调用就清空啦.
当然是可以删除了,开了一个好冷的笑话(故作镇定接着写…)1
2
3
4
5
6
7
8
9
10
11
12
13
14const arr = [1, 2, 3, 4, 5, 5, 4, 3, 2, 0];
const mySet = new Set(arr);
/* 我不要 0 了 */
mySet.delete(0) // [1, 2, 3, 4, 5] 删掉了!
/* 有 1 吗? */
mySet.has(1); // true 有的!
/* 有 2 吗? */
mySet.has(2); // true 有的!
/* 有 0 吗? */
mySet.has(0); // false 没有!刚才删了!
其实还有几个方法,
这里只是简单的说一下这个 Set 而已
你以为我结束了?
我再说最后一个!
嗯!
最后一个!
我保证!1
2
3
4/* 用 forEach 能干点什么? */
mySet.forEach(function(value) {
// use value do something ...
});
OK,能力有限…
插件推荐
文章推荐
JavaScript 工作原理:内存管理与常见内存泄露分析
本系列文章皆着眼于深度解析 JavaScript 内部运行原理,而本文则重点讨论编程语言中常见的内存管理问题;并且还提出了对于处理常见的内存泄露的建议。可视化基础之散点图介绍
这篇文章介绍了散点图的科学意义,推荐大家阅读学习。可视化是前端发展的一个大方向,可视化工程师除了技术实现之外,还应该学习各种图表所能表达的科学含义。感谢蚂蚁金服体验技术部同学们,整理了一整套科学规范的可视化图表“字典”,让大家详细了解每种图表背后的含义。扩展阅读:可视化基础JS正则表达式完整教程
非常详细的介绍了JS中和正则相关的知识,文章很长,适合慢慢研读webpack:从入门到真实项目配置
文章主要介绍webpack配置,由简入繁、逐步优化,从简单的打包为一个bundle到分离代码、抽离共同代码、按需加载代码、自动刷新,每一步都非常详细,适合初学者快速入门。AR.js 初探
AR技术(增强现实技术Augmented Reality,简称 AR),AR技术在Native中已经兴起了,并且市场上有许多成功的APP,但是对于JavaScript怎么来玩转AR呢?下面我来简单的给大家演示两个不同版本,不同场景的AR小例子。史上最全面、最透彻的BFC原理剖析
介绍FC的概念是什么; BFC的约束规则;咋样才能触发生成新的BFC;BFC在布局中的应用:防止margin重叠(塌陷,以最大的为准); 清除内部浮动;自适应两(多)栏布局。JS遇上IOT
IOT是 Internet of Things 的缩写,字面翻译是“物体组成的因特网”,准确的翻译应该为“物联网”。凡是可以用 JavaScript 来写的应用,最终都会用 JavaScript ——Atwood 定律。逃不出这个定律,JavaScript 也能用于物联网开发了。本文介绍了使用 JavaScript 在 ruff 开发平台上的小实例,有树莓派的小伙伴可以尝试把玩一下。上手 Webpack ? 这篇就够了!
文章系统的概述了 Webpack 从安装到配置以及插件等等;讲述的还是比较全面。对于使用 Webpack 来说,完全可以说是够用。实现一个简单的虚拟DOM
现在的流行框架,无论React还是Vue,都采用虚拟DOM。文中介绍了虚拟DOM的实现原理,能帮助更好理解双向绑定实现。
招聘
TalkingData DTU 可视化团队招聘:
- 资深前端工程师
- 前端实习生
简历投递:1
2const email = 'xiang.wang#tendcloud.com'.replace('#', '@');
console.log(email);