js自帶的 map() 方法全面了解
來源:易賢網 閱讀:894 次 日期:2016-08-30 16:10:04
溫馨提示:易賢網小編為您整理了“js自帶的 map() 方法全面了解”,方便廣大網友查閱!

1. 方法概述

map() 方法返回一個由原數(shù)組中的每個元素調用一個指定方法后的返回值組成的新數(shù)組。

2. 例子

2.1 在字符串中使用map

在一個 String  上使用 map 方法獲取字符串中每個字符所對應的 ASCII 碼組成的數(shù)組:

var map = Array.prototype.map

var a = map.call("Hello World", function(x) { return x.charCodeAt(0); })

// a的值為[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

2.2 易犯錯誤

通常情況下,map 方法中的 callback 函數(shù)只需要接受一個參數(shù)(很多時候,自定義的函數(shù)形參只有一個),就是正在被遍歷的數(shù)組元素本身。

但這并不意味著 map 只給 callback 傳了一個參數(shù)(會傳遞3個參數(shù))。這個思維慣性可能會讓我們犯一個很容易犯的錯誤。

// 下面的語句返回什么呢:

["1", "2", "3"].map(parseInt);

// 你可能覺的會是[1, 2, 3]

// 但實際的結果是 [1, NaN, NaN]

// 通常使用parseInt時,只需要傳遞一個參數(shù).但實際上,parseInt可以有兩個參數(shù).第二個參數(shù)是進制數(shù).可以通過語句"alert(parseInt.length)===2"來驗證.

// map方法在調用callback函數(shù)時,會給它傳遞三個參數(shù):當前正在遍歷的元素, 元素索引, 原數(shù)組本身.

// 第三個參數(shù)parseInt會忽視, 但第二個參數(shù)不會,也就是說,parseInt把傳過來的索引值當成進制數(shù)來使用.從而返回了NaN.

/*

//應該使用如下的用戶函數(shù)returnInt

function returnInt(element){

 return parseInt(element,10);

}

["1", "2", "3"].map(returnInt);

// 返回[1,2,3]

*/

參考 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map

以上這篇js 自帶的 map() 方法全面了解就是小編分享給大家的全部內容了,希望能給大家一個參考

更多信息請查看網絡編程
易賢網手機網站地址:js自帶的 map() 方法全面了解
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網