問題二十七 怎麼使用 Javascript 的 Map?
Javscript 中,你想要走訪陣列,然後用函數處理每一個值怎麼辦?直覺會使用 For 來走訪陣列,但是有其他更好的方法嗎?有!用 Map。
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
這是一個簡單的範例,這邊是將陣列直接使用 map 然後套用內建函式 Math.sqrt 來計算平方根,結果 roots 會是 [1, 2, 3]
這樣寫很直覺簡單對吧,而且不會改動到原本的值相當的棒,後期維護也可以馬上看懂
如果要自訂函式怎麼做呢?
var numbers = [1, 4, 9];
var doubles = numbers.map(function(num) {
return num * 2;
});
像是這個例子,doubles 結果就會是 [2, 8, 18] ,用法很簡單對吧!可以多多利用這個方法喔
詳細可以參考 MDN
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map