再不用ES6就Out了--ES6解决两个典型问题
来源:互联网 发布:写时时彩缩水源码教程 编辑:程序博客网 时间:2024/04/29 09:50
数组去重
在ES5中,主要通过Object的hash特性,减少一次for循环
let arr = [1,2,3,3,3,2,12,3,4,5,5,4]; let removeDuplicate = arr => { let obj = {}, result = []; arr.map((value,index) => { if (!obj[value]) { obj[value] = value; } }); for (let i in obj) { if (obj.hasOwnProperty(i)) { result.push(obj[i]); } } return result; } console.log(removeDuplicate(arr)); //[1, 2, 3, 4, 5, 12]
但是在ES6中引入了Set数据结构,在巧妙的结合扩展运算符(…)
let removeDuplicate = arr => { return [...(new Set([...arr]))]; } console.log(removeDuplicate(arr)); //[1, 2, 3, 12, 4, 5]
不借助临时变量,进行两个数的交换
对于交换两个数, 我们一般的思维是声明一个中间变量保存其中一个变量,达到交换的效果。新的方式理解下面几点:
* b = b - a 这里实际上是3个值, 巧妙的达到了创建一个中间变量,并且保存这个两个变量。
* a = a + (b - a ) 是不是得到了 a = b。
let a = 1, b = 2; b = b - a; // b(原) - a(原) a = a + b; // a(原) + b(原) - a(原) b = a - b; // b(原) - (b(原) - a(原)) console.log(a); //2 console.log(b); //1
ES6采用解构实现的很简单
[a, b] = [b, a]; console.log(a); //2 console.log(b); //1
0 0
- 再不用ES6就Out了--ES6解决两个典型问题
- 再不用ES6就Out了--es6变量声明
- 再不用ES6就Out了--函数的新特性
- 再不用ES6就Out了--Promise解决回调地狱
- 再不用ES6就Out了--Object中新增的几个方法
- 再不会nginx你就out了
- ES6这些就够了
- ES6这些就够了
- ES6这些就够了
- 再不用NVMe SSD,你的Oracle数据库就out了
- 常用的IT快捷键,再不会就out了
- 众易贷:互联网金融再不玩儿你就OUT了
- “互联网+”货代,再不行动就OUT了
- 再不学会这些技巧,你就OUT了!
- iOS MVVM+RAC 再不学你就OUT了
- 【腾讯TMQ】再不建模你就out了
- AR/VR和AI 再不知道就out了
- 学习 ES6,一篇文章就够了
- unity实现录音功能
- 【JZOJ 4841】平衡的子集
- CodeForces 714B. Filya and Homework(模拟)
- docker容器Cannot connect to the Docker daemon. Is the docker daemon running on this host?解决方法。
- h5学习之3(h5的常用选择器和css常见样式)
- 再不用ES6就Out了--ES6解决两个典型问题
- angularJS三种定义全局变量的方法
- c#获取可运行程序(exe)路径问题
- hdoj 5058 So easy (简单set)
- 每日积累(20161117-day-5)(caffe opencv)
- 数据库应用系统 第二章上机1-4
- 什么是端口号以及常用端口号
- Struts2中LoginAction的四种配置方法
- join :文件合并