摘要:在學習的高階函數時,遇到一個關于函數的問題,在實際操作中,以下代碼輸出了意想不到的結果結果是。經過查閱的文檔,深入了解了函數的作用機制,由于接收的回調函數可以有個參數,通常我們僅需要第一個參數,而忽略了傳入的后面兩個參數。
在學習JavaScript的高階函數時,遇到一個關于map()函數的問題,在實際操作中,以下代碼輸出了意想不到的結果:
"use strict"; var arr = ["1", "2", "3"]; var r; r = arr.map(parseInt); alert("[" + r[0] + ", " + r[1] + ", " + r[2] + "]");
結果是[1, NaN, NaN]。
經過查閱Array.prototype.map()的文檔,深入了解了map()函數的作用機制,由于map()接收的回調函數可以有3個參數:callback(currentValue, index, array),通常我們僅需要第一個參數,而忽略了傳入的后面兩個參數。不幸的是,parseInt(string, radix)沒有忽略第二個參數,導致實際執行的函數分別是:
parseInt("0", 0); // 0, 按十進制轉換
parseInt("1", 1); // NaN, 沒有一進制
parseInt("2", 2); // NaN, 按二進制轉換不允許出現2
可以改為r = arr.map(Number);,因為Number(value)函數僅接收一個參數;
或者使用如下代碼解決parseInt()的轉換問題:
var arr = ["1","2","3"]; var r = arr.map(function(val){ return parseInt(val); }); console.log(r);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88012.html
摘要:作為一名前端開發者,也了解中的很多特性借鑒自比如默認參數解構賦值等,同時本文會對的一些用法與進行類比。函數接收一個函數和一個,這個函數的作用是對每個元素進行判斷,返回或,根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新。 showImg(https://segmentfault.com/img/remote/1460000011857550); 本文首發在 個人博客 ...
摘要:原文引言這篇文檔包含了如何避免使代碼性能遠低于預期的建議尤其是一些會導致牽涉到等無法優化相關函數的問題一些背景在中并沒有解釋器但卻有兩個不同的編譯器通用編譯器和優化編譯器這意味著你的代碼總是會被編譯為機器碼后直接運行這樣一定很快咯并不是 原文:http://dev.zm1v1.com/2015/08/19/javascript-optimization-killers/引言 這篇文檔包...
摘要:數組的特別之處在于,當使用小于的非負整數作為屬性名時數組會自動維護其屬性值。返回的數組包含第一個參數指定的位置和所有到但不含第二個參數指定的位置之間的所有數組元素。數組中只需有一項滿足給定條件則返回。 概念 JavaScript數組是JavaScript對象的特殊形式。數組索引實際上和碰巧是整數的屬性名差不多,使用方括號訪問數組元素就像用方括號訪問對象的屬性一樣。JavaScript將...
摘要:位無符號整數,長度個字節,溢出處理為最大值。所以你拿到的英文字母編碼前后一樣的,但是漢字等字符就不同了。為了直接得到漢字的碼,使用其實還可以選擇使用處理漢字,但是英文又不能正常轉換了。 原文鏈接:https://ssshooter.com/2019-04... 之前做文件上傳和 canvas 修圖時接觸到幾個格式,這里打算整理一下他們的關系 Blob 使用 input 獲取文件時,你...
閱讀 997·2023-04-25 14:41
閱讀 2454·2021-09-28 09:35
閱讀 3624·2019-08-30 15:53
閱讀 1944·2019-08-29 15:26
閱讀 1070·2019-08-28 17:59
閱讀 4284·2019-08-26 13:45
閱讀 2840·2019-08-26 13:33
閱讀 1645·2019-08-26 11:46