位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 映射數(shù)組

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-25

■知識點(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

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部