JavaScript 映射數(shù)組
■知識點(diǎn)
使用map()方法可以對數(shù)組的每個(gè)元素調(diào)用指定的回調(diào)函數(shù),并返回包含結(jié)果的數(shù)組。參數(shù)為一個(gè)回調(diào)函數(shù)。
■實(shí)例設(shè)計(jì)
【示例1】下面的示例使用map方法映射數(shù)組,把數(shù)組中每個(gè)元素的值平方,乘以PI值,把返回的圓的面積值作為新數(shù)組的元素值,最后返回這個(gè)新數(shù)組。
function f(radius) {
var area = Math.PI * (radius * radius);
return area.toFixed (0);
}
var a = [10, 20, 30];
var al = a.map (f);
console.log(al); //314,1257,2827
【示例2】下面的示例使用map方法映射數(shù)組,把數(shù)組中的每個(gè)元素的值除以一個(gè)閾值,然后返回這個(gè)新數(shù)組。其中回調(diào)函數(shù)和閾值都以對象的屬性存在,通過這種方法演示如何在map中使用thisArg 參數(shù)。
var obj = {
val: 10,
f: function (value) {
return value % this.val;
}
}
var a = [6, 12, 25, 30];
var al = a.map(obj.f, obj);
console.log (al); //6, 2,5, 0
【示例3】下面的示例演示如何使用JavaScript內(nèi)置方法作為回調(diào)函數(shù)。
var a = [9, 16];
var al = a.map(Math.sqrt);
console.log(al) ; //3,4
【示例4】下面的示例演示如何使用map方法應(yīng)用于一個(gè)類數(shù)組。在示例中通過動態(tài)調(diào)用的方法(call)把map作用于一個(gè)字符串上,則map將遍歷字符串中每個(gè)字符,并調(diào)用回調(diào)函數(shù)threeChars,把每個(gè)字符左右3個(gè)字符截取出來,映射到一個(gè)新數(shù)組中。
function f(value, index, str) {
return str.substring(index - 1, index + 2);
}
var s = "Thursday1’;
var a = [ ].map.call(s, f);
console.log(a);
//Th,Thu,hur,urs,rsd,sda,day, ay
點(diǎn)擊加載更多評論>>