现在很多功能用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方法的更多相关文章

  1. VB的一些项目中常用的通用方法-一般用于验证类

    1.VB的一些项目中常用的通用方法: ' 设置校验键盘输入值,数字 Public Function kyd(key As Integer) As Integer Dim mychar mychar = ...

  2. 项目中常用的js方法封装---自留

    1.输入一个值,返回其数据类型 type = para => { return Object.prototype.toString.call(para).slice(8,-1) } 2.冒泡排序 ...

  3. 在项目中常用的JS方法封装

    使用方法简单,只需要放在你的 utils.js 工具文件中,直接export const 加上下面封装方法,在别的文件中使用 {方法1,方法2,方法3...}引用后直接使用即可. 01.输入一个值.返 ...

  4. 项目中常用的js方法(持续更新)

    <script> var utils = { //时间戳转日期(timestamp:时间戳 默认当前时间) dateFormat: function(timestamp = new Dat ...

  5. ES6系列之项目中常用的新特性

    ES6系列之项目中常用的新特性 ES6常用特性 平时项目开发中灵活运用ES6+语法可以让开发者减少很多开发时间,提高工作效率.ES6版本提供了很多新的特性,接下来我列举项目中常用的ES6+的特性: l ...

  6. Android 项目中常用到的第三方组件

    项目中常用到的第三方组件 1 社会化分享ShareSDK-Core-2.5.9.jarShareSDK-QQ-2.5.9.jarShareSDK-QZone-2.5.9.jarShareSDK-Sin ...

  7. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  8. 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)

    记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...

  9. 开发中常用的es6知识

    结合实际开发,开发中常用的es6的知识: 1.新增let和const命令: ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效: cons ...

随机推荐

  1. EIGRP-7-可靠传输协议

    可靠传输协议(RTP,Reliable Transport Protocol)负责管理ElGRP数据包的发送和接收.可靠传输意味着传输是有保障的,并且数据包会被按顺序发送.这种传输效果是依靠Cisco ...

  2. 不要忽视Web编程中的小细节

    概述:长时间以来,我们创造了某些在构造和范围内用以提升网站易用性的约定和实践.然后在我们进行web编程的时候总有一些疏忽和纰漏.这里总结了一些web编程时容易出现的小错误,并给出了相应的补救方法,希望 ...

  3. java动态线程池LinkedBlockingQueue和SynchronousQueue比较

    import java.util.concurrent.Callable; public class MyCallable implements Callable<String> { pr ...

  4. Spark操作

    ### scala源码 /* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.Spark ...

  5. ssl加密

    握手前使用非对称加密, 握手后使用对称加密 前期握手就是用来协商对称加密算法的

  6. Storm概念学习系列之storm的特性

    不多说,直接上干货! storm的特性 Storm 是一个开源的分布式实时计算系统,可以简单.可靠地处理大量的数据流. Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快 ...

  7. Asp.NetCore WebApi 引入Swagger

    一.创建一个Asp.NetCore WebApi 项目 二.引入NuGet包 SwashBuckle.AspNetCore 三.在项目属性配置中设置 四.修改项目的启动文件Startup.cs 1). ...

  8. C#对INI文件读写

    C#本身没有对INI格式文件的操作类,可以自定义一个IniFile类进行INI文件读写. using System; using System.Collections.Generic; using S ...

  9. sql单列合并

    有一组这样的数据 1  a  10 2  b  2 4  c  5 1  a  5 在应用中,我们可能需要把出现a的数据合并显示:  1   a   10,5 sqlite上实现:  SELECT   ...

  10. 消除transition闪屏

    消除transition闪屏.css {-webkit-transform-style: preserve-3d;-webkit-backface-visibility: hidden;-webkit ...