JavaScript代码/ES6语法笔记一
1. new Set()/去重一个数组
- let arr = [1, 2, 2, 3, 3];
- let set = new Set(arr);
- let newArr = Array.from(set); // Array.from方法可以将 Set 结构转为数组。
- console.log(newArr); // [1, 2, 3]
2. Object.assign()/对象的合并拷贝
- let obj0 = { name: 'LiuD' };
- let obj1 = { age: 11 };
- let obj2 = { sex: 0 };
- let obj3 = Object.assign({}, obj0, obj1, obj2);
- console.log(obj3); // {name: "LiuD", age: 11, sex: 0}
3. map()/遍历数组,对数组的每一项进行操作并生成一个新的数组
- let arr = [1, 2, 3, 4, 5];
- let newArr = arr.map((e, i) => e * 2); // 给数组每一项乘以10
- console.log(newArr); // [2, 4, 6, 8, 10]
4. filter()/过滤数组,在每一项元素后面触发一个回调函数,通过判断,保留或移除当前项,返回一个新的数组
- let arr = [1, 2, 3, 4, 5];
- let newArr = arr.filter((e, i) => e % 2 === 0); // 取模,过滤余数不为0的数
- console.log(newArr); // [2,4]
5. some()/遍历数组,在每一项元素后面触发一个回调函数,只要一个满足条件就返回true,否则返回false,类似于 || 比较
- let arr = [{ result: true }, { result: false }];
- let newArr = arr.some((e, i) => e.result); // 只要一个为true,即为true
- console.log(newArr); // true
6.every()/遍历数组,在每一项元素后面触发一个回调函数,只要一个不满足条件就返回false,否则返回true,类似于 && 比较
- let arr = [{ result: true }, { result: false }];
- let newArr = arr.every((e, i) => e.result); // 只要一个为false,即为false
- console.log(newArr); // false
7. ~~运算符/~符号用在JavaScript中有按位取反的作用,~~即是取反两次,而位运算的操作值要求是整数,其结果也是整数,所以经过位运算的都会自动变成整数,可以巧妙的去掉小数部分,类似于parseInt
- let a = 1.23;
- let b = -1.23;
- console.log(~~a); //
- console.log(~~b); // -1
8. ||运算符/使用 || 运算符给变量设置默认值
- const port = process.env.PORT || 3000;; // 如果process.env.PORT的值为true则取存在的值,否则为3000
9. ...(展开)运算符/用于解构数组的方法,可以用于快速获取数组的参数
JavaScript代码/ES6语法笔记一的更多相关文章
- JavaScript代码段整理笔记系列(二)
上篇介绍了15个常用代码段,本篇将把剩余的15个补齐,希望对大家有所帮助!!! 16.检测Shift.Alt.Ctrl键: event.shiftKey; //检测Shift event.altKey ...
- JavaScript代码段整理笔记系列(一)
30段JavaScript代码——上篇 1.如何区分IE及非IE浏览器: if(!+[1,]){ //IE 11 不支持 alert("这是 IE 浏览器"): }else{ al ...
- ES6 语法笔记
//如果使用let,声明的变量仅在块级作用域内有效 { var a = 1; let b = 2; } console.log(a); // 1 console.log(b); // Uncaught ...
- ES6语法笔记
迭代器 // log let arr = ['一', '二', '三'] let iter = arr[Symbol.iterator]() console.log(iter.next()) cons ...
- js 的eval()方法 计算某个字符串,并执行其中的的 JavaScript 代码;
定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...
- 把JavaScript代码改成ES6语法不完全指南
目录 * 核心例子 * 修改成静态变量(const)或块级变量(let) * 开始修改 * 疑问解释(重复定义会发生什么) * 疑问解释(let的块级作用域是怎样的) * 疑问解释(const定义的变 ...
- Webpack4 学习笔记三 ES6+语法降级为ES5
前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 Webpack 将es6.es7语法降级为es5 需要通过 babel JavaScript编译器. 安装: npm i babel ...
- es6语法重构react代码
1.使用React.Component创建组件,需要通过在constructor中调用super()将props传递给React.Component.另外react 0.13之后props必须是不可变 ...
- <深入理解JavaScript>学习笔记(1)_编写高质量JavaScript代码的基本要点
注:本文是拜读了 深入理解JavaScript 之后深有感悟,故做次笔记方便之后查看. JQuery是一个很强大的JavaScript 类库,在我刚刚接触JavaScript的就开始用了. JQuer ...
随机推荐
- linux上传与下载文件命令
//文件从Linux系统上传到其他系统. sz空格+文件名 //文件从其他系统下载到Linux系统. rz //之后会弹出路径选择框,选择文件,即可下载到当前路径.
- Hibernate中Session的save()、update()、merge()、lock()、saveOrUpdate()和persist()方法有什么区别?
Hibernate的对象有三种状态:瞬态.持久态和游离态.游离状态的实例可以通过调用save().persist()或者saveOrUpdate()方法进行持久化:脱管状态的实例可以通过调用 upda ...
- c++简单线程池实现(转)
线程池,简单来说就是有一堆已经创建好的线程(最大数目一定),初始时他们都处于空闲状态,当有新的任务进来,从线程池中取出一个空闲的线程处理任务,然后当任务处理完成之后,该线程被重新放回到线程池中,供其他 ...
- Python3.5-20190504-廖老师的2-if elif else continue break
条件判断: if 条件1: 代码块 elif 条件2: 代码块 else 条件3: 代码块 brith = input("请输入出身年月:") if brith > 200 ...
- java web项目获取项目路径
注意:有时获取到的项目路径后再+“自定义路径后” 路径不可用,这时要看下项目里自定义路径是不是空文件夹,如果是空文件夹则调试和运行时文件夹不会编译到部署文件里. 1.方法一 调试时只能获取eclips ...
- delphi 删除文件夹里面的所有文件
1.新增一个函数 function TForm1.DelDirAll(aDir: string): Boolean;varvSearch: TSearchRec;vRet: integer;vKey: ...
- 学习java设计模式有用吗?懂这六个原则,编程更轻松
学习java设计模式有用吗?懂这六个原则,编程更轻松 1.开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭.在程序需要进行拓展的时候,不能去修改原有的代码,实 ...
- C++ 排序(未完)
参考: 快速排序 堆排序 各类排序 #include <iostream> #include <vector> #include <time.h> #include ...
- 部署core
https://www.cnblogs.com/jasonduan/p/9193702.html
- H5 调用 手机设备的功能
1.调用 邮件 : 参考 https://blog.csdn.net/github_38516987/article/details/77637546 (亲测有效) <a href=" ...