前端小记6——项目中常用的ES6方法
现在很多功能用es5的方法也能实现功能,但es6提供的方法显得更为高效。记录下目前常用的几个方法。
1、字符包含
通过str.includes('a')来判断, 若str中包含a则结果为true,否则为false。
eg:
let str = 'abcd';
console.log(str.includes('a')); // true
console.log(str.includes('f')); // false
此外,支持第二个参数:
console.log(str.includes('d', 1)); // true 从索引号1开始搜索(包括1)
注意:includes()方法区分大小写。
2、字符首位判断
通过str.startsWidth('a')来判断, 若a为str的首字符则结果为true,否则为false。
eg:
let str = 'abcd';
console.log(str.startsWidth('a')); // true
console.log(str.startsWidth('b')); // false
此外,支持第二个参数:
console.log(str.startsWidth('cd', 2)); // true
3、字符末位判断
通过str.endsWith('a')来判断,若a为str的末位字符则结果为true,否则为false。
eg:
let str = 'abcd';
console.log(str.endsWith('d')); // trude
console.log(str.endsWith('b')); // false
此外,支持第二个参数:
console.log(str.endsWith('ab', 2)); // true 参数代表前2个(不包括第2)
4.两个值判断是否相等
传统es5判断相等用“==”(会自动转换数据类型)或“===”(有限制,比如NaN,+0,-0)
es6方法:Object.is
eg:Object.is('a', 'a'); // true
Object.is({}, {}); // false
对比:
+0 === -0 // true
NaN === NaN // false
Object.is(+0, -0) // false
Object.is(NaN, NaN) true
5、数组中查找第一个满足元素(包含)
方法:some()方法会依次执行,当遇到满足条件的返回true,跳出循环。若无满足项,返回false。
Ps:该方法不会改变原始数组,且对空数组不生效。
eg:
var a = [1,3,5,6];
function f () {
return b = 5;
}
console.log(a.some(f)); // true
6、模板字符串(也可用于字符拼接)
传统:
$('#id').append(
'This is <b>' + page.no + '</b>' +
'item in your page' + '<em>' + page.name +
'</em> in it.'
);
es6:
$('#id).append(
This is <b>${page.no}</b> item in your page <em>${page.name}</em> in it.
);
注意:在模板中需要使用反引号,需在前面用反斜杠转译。且模板中的空格和换行都会保留。
大括号中可以是变量或函数方法或者嵌套。
7、数组遍历
方法for of
eg:
var a = ['m', 'n', 'o'];
for (i of a) {
console.log(i); // 输出的是值 m, n, o
}
8、数组去重
eg:
var a = new Set("Hello word");
for (var b of a) {
console.log(b+" ")
}
// H e l o w r d
方法一:
function fn(arr) {
return Array.form(new Set(arr)) // Array.from方法可以将 Set 结构转为数组
}
const items = [1,2,3,4,5,6,7,1,2,1,3,1,2,3];
console.log(fn(items)) // [1,2,3,4,5,6,7]
方法二:
let arr1 = [12,13,23,45,46,48,78,79,45,12,13,23];
let arr = new Set(arr1)
console.log([...arr]) // [ 12, 13, 23, 45, 46, 48, 78, 79 ]
9、常用的并集、交集、差集
eg:
let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);// 并集let union = new Set([...a, ...b]);// Set {1, 2, 3, 4}// 交集let intersect = new Set([...a].filter(x => b.has(x)));// set {2, 3}// 差集let difference = new Set([...a].filter(x => !b.has(x)));// Set {1}前端小记6——项目中常用的ES6方法的更多相关文章
- VB的一些项目中常用的通用方法-一般用于验证类
1.VB的一些项目中常用的通用方法: ' 设置校验键盘输入值,数字 Public Function kyd(key As Integer) As Integer Dim mychar mychar = ...
- 项目中常用的js方法封装---自留
1.输入一个值,返回其数据类型 type = para => { return Object.prototype.toString.call(para).slice(8,-1) } 2.冒泡排序 ...
- 在项目中常用的JS方法封装
使用方法简单,只需要放在你的 utils.js 工具文件中,直接export const 加上下面封装方法,在别的文件中使用 {方法1,方法2,方法3...}引用后直接使用即可. 01.输入一个值.返 ...
- 项目中常用的js方法(持续更新)
<script> var utils = { //时间戳转日期(timestamp:时间戳 默认当前时间) dateFormat: function(timestamp = new Dat ...
- ES6系列之项目中常用的新特性
ES6系列之项目中常用的新特性 ES6常用特性 平时项目开发中灵活运用ES6+语法可以让开发者减少很多开发时间,提高工作效率.ES6版本提供了很多新的特性,接下来我列举项目中常用的ES6+的特性: l ...
- Android 项目中常用到的第三方组件
项目中常用到的第三方组件 1 社会化分享ShareSDK-Core-2.5.9.jarShareSDK-QQ-2.5.9.jarShareSDK-QZone-2.5.9.jarShareSDK-Sin ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)
记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...
- 开发中常用的es6知识
结合实际开发,开发中常用的es6的知识: 1.新增let和const命令: ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效: cons ...
随机推荐
- 11-散列3 QQ帐户的申请与登陆 (25 分)
实现QQ新帐户申请和老帐户登陆的简化版功能.最大挑战是:据说现在的QQ号码已经有10位数了. 输入格式: 输入首先给出一个正整数N(≤),随后给出N行指令.每行指令的格式为:“命令符(空格)QQ号码( ...
- maven 引入本地项目jar报红线错误解决方法
问题:本地创建了2个项目,A和B,A引入B,A的pom如下: <dependency> <groupId>com.ebc</groupId> <artifac ...
- 练习十八:求这样的一组数据和,s=a+aa+aaa+aaaa+aa...a,其中a为一个数字
例如:2+22+222+2222+22222(此时共有5个数字相加),这里具体几个数字由键盘控制 方法一:普通做法 a = int(input("计算要加的数(1-9之间数):") ...
- leetcode 91. 解码方法
题目描述: 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数 ...
- Java面向对象_常用类库api——对象比较器
概念:对两个或多个数据项进行比较,以确定他们是否相等,或确定他们之间的大小关系及排列顺序成为比较. 1.Comparable接口: 此接口强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然 ...
- Hello ASP.NET on Docker -- CentOS
1.docker pull microsoft/aspnet 2.docker run -p 5004:2015 microsoft/aspnet --穿越后 3.cd ~ && wg ...
- 记一次内存溢出java.lang.OutOfMemoryError: unable to create new native thread
一.问题: 春节将至,系统访问量进入高峰期.随之系统出现了异常:java.lang.OutOfMemoryError: unable to create new native thread.在解决这个 ...
- Storm概念学习系列 之Worker工作者进程
不多说,直接上干货! Worker工作者进程 工作者进程(Worker)是一个java进程,执行拓扑的一部分任务.一个Worker进程执行一个Topology的子集,它会启动一个或多个Execut ...
- Storm概念学习系列之storm-starter项目(完整版)(博主推荐)
不多说,直接上干货! 这是书籍<从零开始学Storm>赵必厦 2014年出版的配套代码! storm-starter项目包含使用storm的各种各样的例子.项目托管在GitHub上面,其网 ...
- PHP session变量的销毁
1.何为session? 相当于一个客户端(可以是浏览器.app.ftp等其他,而且同一个浏览器多开几个又算是不同的客户端)对服务器的一个访问,这个期间服务器为此建立一个唯一的标示(session_i ...