<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 3. Array.prototype.includes 本章描述了 Domenic Denicola 和 Rick Waldron 提出的 ECMAScript 2016 的特性 `Array.prototype.includes`。 ## 3.1 概述 ```js > ['a', 'b', 'c'].includes('a') true > ['a', 'b', 'c'].includes('d') > false ``` ## 3.2 Array的方法`includes` 數組方法 `includes` 展示如下: ```js Array.prototype.includes(value : any) : boolean ``` 如果 `value` 是其接收方的一個元素(`this`),則返回 true,否則返回 false : ```js > ['a', 'b', 'c'].includes('a') true > ['a', 'b', 'c'].includes('d') false ``` `includes` 類似于 `indexOf` - 以下兩個表達式基本是等價的: ```js arr.includes(x) arr.indexOf(x) >= 0 ``` 主要區別在于 `includes()`查找 `NaN` ,而 `indexOf()`則不查找: ```js > [NaN].includes(NaN) true > [NaN].indexOf(NaN) -1 ``` `includes` 不區分 `+0` 和`-0` ( [這幾乎是所有 JavaScript 的工作原理](http://speakingjs.com/es5/ch11.html#two_zeros) ): ```js > [-0].includes(+0) true ``` 類型數組(Typed Arrays)也有一個方法 `includes()`: ```js let tarr = Uint8Array.of(12, 5, 3) console.log(tarr.includes(5)) // true ``` ## 3.3 常見問題 - 為什么方法被命名為 `includes` 而不是 `contains`? 最初的選擇是 `contains`,但它破壞了 web 上的代碼( [MooTools 將此方法添加到 Array.prototype](https://esdiscuss.org/topic/having-a-non-enumerable-array-prototype-contains-may-not-be-web-compatible) )。 - 為什么方法被命名為 `includes` 而不是 `has`? `has` 用于鍵( Map.prototype.has ), `includes` 用于元素(`String.prototype.includes`)。集合的元素可以被視為鍵和值,這就是為什么有一個 `Set.prototype.has`(和沒有 `includes`)。 - ES6 的 `String.prototype.includes` 適用于字符串,不適合字符。那不是自相矛盾嗎? 如果數組的`includes`的工作方式與字符串的`includes`完全相同,那么它將接受數組,而不是單個元素。這兩個 `includes` 遵循 `indexOf`的例子;字符(characters)被視為特殊情況,而任意長度的字符串被視為一般情況。 ## 3.4 進一步閱讀 [`Array.prototype.includes`](https://github.com/tc39/Array.prototype.includes/) (Domenic Denicola,Rick Waldron)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看