<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                在 2013年, 加里·伯恩哈德就在微博上發布了以下代碼段: ~~~js ['10','10','10','10','10'].map(parseInt); // [10, NaN, 2, 3, 4] ~~~ ### parseInt `parseInt()`函數解析一個字符串參數,并返回一個指定基數的整數 (數學系統的基礎)。 ~~~js const intValue = parseInt(string[, radix]); ~~~ `string`要被解析的值。如果參數不是一個字符串,則將其轉換為字符串(使用 ToString 抽象操作)。字符串開頭的空白符將會被忽略。 `radix`一個介于2和36之間的整數(數學系統的基礎),表示上述字符串的基數。默認為10。`返回值`返回一個整數或NaN ~~~js parseInt(100); // 100 parseInt(100, 10); // 100 parseInt(100, 2); // 4 -> converts 100 in base 2 to base 10 ~~~ **注意:**在`radix`為 undefined,或者`radix`為 0 或者沒有指定的情況下,JavaScript 作如下處理: * 如果字符串 string 以"0x"或者"0X"開頭, 則基數是16 (16進制). * 如果字符串 string 以"0"開頭, 基數是8(八進制)或者10(十進制),那么具體是哪個基數由實現環境決定。ECMAScript 5 規定使用10,但是并不是所有的瀏覽器都遵循這個規定。因此,永遠都要明確給出radix參數的值。 * 如果字符串 string 以其它任何值開頭,則基數是10 (十進制)。 更多詳見[parseInt | MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt) ### map `map()`方法創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后返回的結果。 ~~~js var new_array = arr.map(function callback(currentValue[,index[, array]]) { // Return element for new_array }[, thisArg]) ~~~ 可以看到`callback`回調函數需要三個參數, 我們通常只使用第一個參數 (其他兩個參數是可選的)。`currentValue`是callback 數組中正在處理的當前元素。`index`可選, 是callback 數組中正在處理的當前元素的索引。`array`可選, 是callback map 方法被調用的數組。 另外還有`thisArg`可選, 執行 callback 函數時使用的this 值。 ~~~js const arr = [1, 2, 3]; arr.map((num) => num + 1); // [2, 3, 4] ~~~ 更多詳見[Array.prototype.map() | MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map) ### 回到真實的事例上 回到我們真實的事例上 ~~~js ['1', '2', '3'].map(parseInt) ~~~ 對于每個迭代`map`,`parseInt()`傳遞兩個參數:**字符串和基數**。 所以實際執行的的代碼是: ~~~js ['1', '2', '3'].map((item, index) => { return parseInt(item, index) }) ~~~ 即返回的值分別為: ~~~js parseInt('1', 0) // 1 parseInt('2', 1) // NaN parseInt('3', 2) // NaN, 3 不是二進制 ~~~ 所以: ~~~js ['1', '2', '3'].map(parseInt) // 1, NaN, NaN ~~~ 由此,加里·伯恩哈德例子也就很好解釋了,這里不再贅述 ~~~js ['10','10','10','10','10'].map(parseInt); // [10, NaN, 2, 3, 4] ~~~ ![](https://img.kancloud.cn/7c/4a/7c4ab903774878f938c08a794d009566_194x270.png) ### 如何在現實世界中做到這一點 如果您實際上想要循環訪問字符串數組, 該怎么辦? `map()`然后把它換成數字?使用編號! ~~~js ['10','10','10','10','10'].map(Number); // [10, 10, 10, 10, 10] ~~~ ## 摘自 [ 第 2 題:`['1', '2', '3'].map(parseInt)`what & why ?](https://www.muyiy.cn/question/js/2.html)
                  <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>

                              哎呀哎呀视频在线观看