es6 数组是否包含某值,es6判断是否为数组

  es6 数组是否包含某值,es6判断是否为数组

  本教程运行环境:windows7系统,ECMAScript版本6,Dell G3电脑。

  在ES5中,Array提供了indexOf来查找元素的位置。如果不存在,则返回-1。但是,这个函数在判断数组是否包含元素时有两个小缺点。第一个是它将返回-1和元素的位置来指示它是否返回。定位上还好,但是语义不够。还有一个问题就是你无法判断是否有南的元素。

  例如:

  const arr1=[a , b , c , d , e , f , g , h , I , j , k ,NaN]

  Console.log (%s ,arr1.indexof (nan))结果:

  -1ES6提供了Array.includes()函数来判断一个元素是否被包含,解决了indexOf除了无法定位之外的上述两个问题。它直接返回true或false来表示是否包含元素,对于NaN可以有效。

  const arr1=[a , b , c , d , e , f , g , h , I , j , k ,NaN]

  console.log(%s ,arr1.includes(c ))

  console.log(%s ,arr1.includes(z ))

  Console.log (%s ,arr1.includes (nan))结果:

  真实的

  错误的

  trueincludes()函数的第二个参数表示判断的开始位置。

  const arr1=[a , b , c , d , e , f , g , h , I , j , k ,NaN]

  console.log(%s ,arr1.includes(d ,1))

  console.log(%s ,arr1.includes(d ,3))

  Console.log (%s ,arr1.includes (d ,4))结果:

  真实的

  真实的

  True第二个参数可以false是负数,表示从右数,但不改变判断搜索的方向,仍然是从左到右。

  console.log(%s ,arr1.includes(k ,-1))

  console.log(%s ,arr1.includes(k ,-2))

  Console.log (%s ,arr1.includes (i ,-3))结果:

  错误的

  真实的

  虚假总结:

  Includes()方法,用于检测数组是否包含某个值,可以判断NaN,直接返回true/false,更直观;

  Index()方法,用于查找元素的位置,不能判断NaN,返回-1,即不包含,或者-1,即当前包含的位置。

  两种方法各有优劣,视实际情况而定。如果元素包含NaN,则使用includes();否则两者都可以。

  【相关推荐:javascript视频教程,web前端】以上是es6如何判断一个数组是否包含某个值的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: