溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript高階函數(shù)怎么用

發(fā)布時(shí)間:2022-03-03 10:16:50 來源:億速云 閱讀:88 作者:iii 欄目:web開發(fā)

本篇內(nèi)容主要講解“JavaScript高階函數(shù)怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“JavaScript高階函數(shù)怎么用”吧!

數(shù)組方法

高階函數(shù)

高階函數(shù)是對(duì)其他函數(shù)進(jìn)行操作的函數(shù),可以將它們作為參數(shù)或通過返回它們.

高階函數(shù)是一個(gè)函數(shù),它接收函數(shù)作為參數(shù)或者將函數(shù)作為輸出返回

forEach 方法 循環(huán)

用法: 遍歷數(shù)組,可以對(duì)每個(gè)值做一些操作

參數(shù)用法:

參數(shù)1:必需;當(dāng)前的元素(類似于,for 循環(huán)中的 i)

參數(shù)2:可選;當(dāng)前遍歷元素的索引值

參數(shù)3:可選;當(dāng)前元素所屬的數(shù)組對(duì)象

var arr = ['a','b','c','d']

//普通寫法

arr.forEach(function(ele,i,array){

    console.log(ele); //當(dāng)前的元素

    console.log(i); //當(dāng)前的元素的索引值

    console.log(array); //當(dāng)前的元素的數(shù)組對(duì)象

})

//箭頭函數(shù)

arr.forEach((ele,i,array)=>{

    console.log(ele); //當(dāng)前的元素

    console.log(i); //當(dāng)前的元素的索引值

    console.log(array); //當(dāng)前的元素的數(shù)組對(duì)象

})

map 方法 執(zhí)行操作

用法:對(duì)數(shù)組中的每一個(gè)元素運(yùn)行指定函數(shù),返回每次調(diào)用函數(shù)的結(jié)果,將其組成一個(gè)新數(shù)組

特點(diǎn):不改變?cè)獢?shù)組,返回一個(gè)新數(shù)組

注意:

map 不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè)

map 不會(huì)改變?cè)瓟?shù)組

參數(shù)用法:

參數(shù)1:必需;當(dāng)前的元素(類似于,for 循環(huán)中的 i)

參數(shù)2:可選;當(dāng)前遍歷元素的索引值

參數(shù)3:可選;當(dāng)前元素所屬的數(shù)組對(duì)象

var arr = ['1','2','3','4']

var fresh =  arr.forEach((ele,i,array)=>{

   return ele*2  //對(duì)每個(gè)元素乘2

})

filter 方法 過濾

用法:對(duì)數(shù)組中的元素進(jìn)行過濾篩選,將滿足條件的元素組成新數(shù)組返回

特點(diǎn):將滿足條件的元素返回新數(shù)組

參數(shù)用法:

參數(shù)1:必需;當(dāng)前的元素(類似于,for 循環(huán)中的 i)

參數(shù)2:可選;當(dāng)前遍歷元素的索引值

參數(shù)3:可選;當(dāng)前元素所屬的數(shù)組對(duì)象

//寫法一

var arr = ['張三','李四','王五','張三豐','王小六'];

var fresh = arr.filter((ele,i,array)=>{

    return /^王/.test(ele) //篩選出所有姓王的名字

}) 

//寫法二

var ages = [32,33,55,16,8,40];

function fn(age){

    return age >= 18

}

var greater = ages.filter(fn)

some 方法 判斷返回布爾值

用法: 查找數(shù)組中是否有滿足指定條件的元素,然后返回布爾值

參數(shù)用法:

參數(shù)1:必需;當(dāng)前的元素(類似于,for 循環(huán)中的 i)

參數(shù)2:可選;當(dāng)前遍歷元素的索引值

參數(shù)3:可選;當(dāng)前元素所屬的數(shù)組對(duì)象

//數(shù)據(jù)復(fù)雜時(shí),使用比較好

var isHas = arr.some((ele)=>{

    return ele.屬性 > 10

})

from 方法 數(shù)組轉(zhuǎn)換

用法:把類數(shù)組轉(zhuǎn)換為真正的淺拷貝數(shù)組,返回轉(zhuǎn)換后的新數(shù)組

參數(shù):

參數(shù)1: 要轉(zhuǎn)換的數(shù)據(jù)(類數(shù)組)

參數(shù)2:回調(diào)函數(shù),用來對(duì)每個(gè)元素進(jìn)行操作,將處理好的值放入新的數(shù)組中

 var arr = Array.from('123456',(ele)=>{

     return ele*2

 })

 console.log(arr)

find 方法 查找元素,

用法:查找滿足添加的第一個(gè)元素,返回該元素

注意:找到第一個(gè)滿足的條件時(shí),就不會(huì)在繼續(xù)查找其他元素

參數(shù)用法:

參數(shù)1:必需;當(dāng)前的元素(類似于,for 循環(huán)中的 i)

參數(shù)2:可選;當(dāng)前遍歷元素的索引值

參數(shù)3:可選;當(dāng)前元素所屬的數(shù)組對(duì)象

 var arr = [55,10,3,6,88,22]

 var item = arr.find((ele,i,array)=>{

     return ele > 11

 })

findIndex 方法 查找返回索引

用法:查找滿足條件的第一個(gè)索引,返回該元素的索引

注意:找到第一個(gè)滿足的條件時(shí),就不會(huì)在繼續(xù)查找其他元素

參數(shù)用法:

參數(shù)1:必需;當(dāng)前的元素(類似于,for 循環(huán)中的 i)

參數(shù)2:可選;當(dāng)前遍歷元素的索引值

參數(shù)3:可選;當(dāng)前元素所屬的數(shù)組對(duì)象

 var arr = [55,10,3,6,88,22]

 var item = arr.findIndex((ele,i,array)=>{

     return ele > 11

 })

includes 方法 查找元素

用法:判斷數(shù)組中是否包含某個(gè)指定元素,找到返回true,否則返回false

 var arr = ['a','b','c'];

 var isHas = arr.includes('c')

字符串中也有該方法

到此,相信大家對(duì)“JavaScript高階函數(shù)怎么用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI