首页 > 技术文章 > es6 includes的用法----判断一个字符串或数组是否包含一个指定的值

haonanya 2018-05-07 18:57 原文

句法:

str.includes(searchString , [position]) 

searchString在此字符串内搜索的字符串。

position 可选的字符串中开始搜索的位置searchString(默认为0)。

返回值:

true:如果搜索字符串在给定字符串内的任何地方找到;返回true 

false:如果没有找到返回false

描述:

此方法可让您确定一个字符串是否包含另一个字符串。

includes()方法区分大小写。例如,以下表达式返回false:

'Blue Whale'.includes('blue'); // returns false

运用:

var str = 'To be, or not to be, that is the question.';

console.log(str.includes('To be'));       // true
console.log(str.includes('question'));    // true
console.log(str.includes('nonexistent')); // false
console.log(str.includes('To be', 1));    // false
console.log(str.includes('TO BE'));       // false

填充工具:

此方法已添加到ECMAScript 2015规范中,可能尚未在所有JavaScript实现中提供。但是,您可以轻松地填充此方法:

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }
    
    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}

不过填充工具是什么。最后一点没有看懂

 

补充es5

es5中是用indexOf的命令来查找的,存在的返回的是索引值,不存在返回-1,但是NaN查找不出来,因为NaN!==NaN

 

推荐阅读