JavaScript高階函數(shù)map和filter講解

Array.map()

定義: 對(duì)數(shù)組的每個(gè)元素調(diào)用定義的回調(diào)函數(shù)并返回包含結(jié)果的數(shù)組

調(diào)用方式:
1.Array.map(callback(element,index,array){})

2.Array.map(callback)
function callback(element,index,array){}

參數(shù):
element:數(shù)組當(dāng)前被調(diào)用的元素
index:數(shù)組當(dāng)前被調(diào)用元素的索引
array:當(dāng)前被調(diào)用元素的數(shù)組(數(shù)組本身)

實(shí)例:

    //實(shí)例一:求圓面積
    //定義3個(gè)圓的半徑
    var circle = [7,8,9];
    circle.map((element) => { return Math.PI * element * element });
    //circle = [Math.PI * 7 * 7,Math.PI * 8 * 8,Math.PI * 9 * 9]

    //實(shí)例二:求數(shù)組內(nèi)元素%10后的結(jié)果
    var array = [11,22,33,44,55];
    array.map((element) => { return element % 10 });
    //array = [1,2,3,4,5]

   //實(shí)例三:求平方根
   var array = [16,25,36];
   array.map(Math.sqrt);
   //array = [4,5,6]

Array.filter()

定義:filter把傳入的函數(shù)依次作用于每個(gè)元素,然后根據(jù)返回值是True or False決定保留還是舍棄該元素,并返回新的數(shù)組。

調(diào)用方式:
1.Array.filter(callback(element,index,array){})

2.Array.filter(callback)
function callback(element,index,array){}

參數(shù):
element:數(shù)組當(dāng)前被調(diào)用的元素
index:數(shù)組當(dāng)前被調(diào)用元素的索引
array:當(dāng)前被調(diào)用元素的數(shù)組(數(shù)組本身)

實(shí)例:

    //實(shí)例一:獲取一個(gè)數(shù)組的偶數(shù)
    var array = [2,5,6,9,4,7];
    array.filter( (element) => { return element % 2 == 0});
    //array = [2,6,4]
    //實(shí)例二:去除Array的重復(fù)元素
    var array = ["li","wang","xie","zhang","wang","li"];
    array.filter( (element,index,array) => { return array.indexOf(element) === index});
    //array = ["li","wang","xie","zhang"]

indexOf()返回?cái)?shù)組下標(biāo)0開始的第一個(gè)元素的位置。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容