方法:1、使用indexOf()函数,语法“数组对象.indexOf(值)”,如果返回元素位置则含有,如果返回“-1”则不含有;2、使用includes()函数,语法“数组对象.includes(值)”,返回true则含有,反
方法:1、使用indexOf()函数,语法“数组对象.indexOf(值)”,如果返回元素位置则含有,如果返回“-1”则不含有;2、使用includes()函数,语法“数组对象.includes(值)”,返回true则含有,反之则不含有。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
es6判断数组是否含有某个子元素
方法1:使用indexOf()函数
indexOf用来查找某个元素的位置,如果不存在就返回-1。
const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log(arr.indexOf('c')) console.log(arr.indexOf('z'))
注:indexOf()函数在判断数组是否包含某个元素时有两个小不足
第一个是它会返回-1和元素的位置来表示是否包含,在定位方面是没问题,就是不够语义化。
另一个问题是不能判断是否有NaN的元素。
const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log(arr.indexOf(NaN))
方法2:使用includes()函数
includes()函数可以用来检测数组中是否包含某个值
includes()函数除了不能定位外,解决了indexOf的上述的两个问题。它直接返回true或者false表示是否包含元素,对NaN一样能有有效。
const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log(arr.includes('c')) console.log(arr.includes('z')) console.log(arr.includes(NaN))
【相关推荐:javascript视频教程、web前端】