美文网首页
ES6之includes()方法

ES6之includes()方法

作者: 海淀萌狗 | 来源:发表于2019-11-06 14:15 被阅读0次

    Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似。

    参数

    1)第一个参数是要查找的元素

    2)第二个参数表示搜索的起始位置,默认为 0 。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为 -4 ,但数组长度为 3 ),则会重置为从 0 开始。

    只有一个参数情况

    ```

    [1, 2, 3].includes(2); // true

    [1, 2, 3].includes(4); // false

    [1, 2, NaN].includes(NaN); // true

    ```

    两个参数的情况

    ```

    [1, 2, 3].includes(3, 3); // false

    [1, 2, 3].includes(3, -1); // true

    ```

    对比indexof方法

    indexOf方法有两个缺点

    一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于 -1 ,表达起来不够直观。

    二是,它内部使用严格相当运算符( === )进行判断,这会导致对NaN的误判。

    ```

    [NaN].indexOf(NaN)

    // -1

    includes使用的是不一样的判断算法,就没有这个问题。

    [NaN].includes(NaN)

    // true

    ```

    相关文章

      网友评论

          本文标题:ES6之includes()方法

          本文链接:https://www.haomeiwen.com/subject/tztiyctx.html