这一节,我们就来学习ES7的第一个新特性:数组中includes特性。
在讲解它之前,我们来回忆一下。以前,我们要检测一个数组中是否包含某个元素,你可以使用 indexOf( ) 函数。
1.传统实现方式
但我们知道, indexOf( ) 的返回结果颇为尴尬,它不会直接告诉你数组中是否包含了指定的元素,而是返回数组。当数组包含指定元素的时候,就会返回该元素所在的位置,否则,返回:-1。
因此,我们不得不去多做一层判断:
//以前的实现方式
let arr = ['hi','hello'];
//判断结果是否等于 -1
if(arr.indexOf('hi') === -1){
console.log('不包含');
}else{
console.log('包含');
}
//结果:包含
2.ES7的includes特性
如今在ES7中,我们可以使用includes新特性来直接判断,使用方式很简单,如下:
//ES7写法
let arr = ['hi','hello'];
arr.includes('hello'); //true
arr.includes('hello world'); //false
includes( ) 方法会返回布尔值:true或者false,方便你用于做判断。
3.在字符串中使用
此外,除了在数组中使用includes,你也可以用在字符串中使用。
//ES7写法
let words = 'hello world';
if(words.includes('hello')){
console.log('包含');
}else{
console.log('不包含');
}
includes( ) 方法在数组和字符串中的用法一样,十分简单。有了这个新特性,我们在实现相关功能的时候,代码会更加简洁和优雅。
4.小结
includes新特性增强了可读性语义化,给开发者返回布尔值来判断匹配元素是否存在,而不是匹配的位置。掌握ES7新增的includes新特性的使用方式,了解它的适用场景。
下一节,我们来学习ES7中另一个新特性:Exponentiation Operator(求冥运算) 。
热门文章
原创教程
原创教程:《ECMAScript 6 教程》
附加习题:《ECMAScript 6 教程》测试题
原创教程:《Vue2.0基础教程》
原创教程:《Vue2.0进阶教程》
附加习题:《Vue2.0基础教程》测试题
趣味职场
职场感悟:混口饭吃,谈不上喜欢
感到迷茫:我很努力,但依然很迷茫
薪资待遇:那么点工资,能招到人吗?
培训出身:我是一个培训出身的程序员
培训费用:花1.8万参加前端培训,值吗?
培训简历:简历包装成1-2年经验,咋办?
搞笑黑话:互联网公司黑话,搞笑到爆
职业自由:程序员职业自由的6个阶段
职场形象:在别人眼里,程序员是这样的
我是一条分割线