在用vue.js開發過程中為了使**不那麼複雜化,我們常常需要記住一些js中高階函式的用法,這裡推薦3中高階函式的用法:filter,map,reduce
這裡用乙個小栗子來記錄一下:
const nums = [12, 23, 22, 18, 100, 67, 48, 88]
需求1:對陣列進行遍歷篩選小於50的數字,如果不用高階函式的話,我們可能需要非常冗長的**來完成這樣的需求
如上,這樣寫還不能對新陣列進行排序,非常的複雜冗長,所以引入了我們的高階函式filter(後面的長**就不一一枚舉了!!實在太難寫了基本上都是換湯不換藥的型別)
filter:**函式的返回值為true時將**函式引數的值放入新陣列
而如果用高階函式使用的話就僅需用一行**來完成這個需求
這裡對filter函式的引數進行解釋:從filter函式的定義(這裡就不列舉filter的定義了)來說,他的引數必須是乙個函式,函式內需要有形參n,然後在函式內部return表示式
2.對陣列的每個引數進行*2
這裡用高階函式中的map函式。
map:對陣列物件中的值進行操作,將操作後的數放入新陣列
話不多說,直接上**。
map函式的用法參考filter
3.對陣列中的所有引數進行相加。
reduce函式:對陣列中所以內容進行彙總
這裡對reduce函式進行解釋:
同意reduce方法需要傳入的引數也為乙個函式,但函式內部需要兩個形參,此處用prevalue和n來表示,然後再返回兩個引數相加得到的值(引數的具體意義突然搞忘了,所以此處不敢妄加解釋)。
二.三個方法間的混合使用
用箭頭函式再次簡寫可以寫為:
請朋友們自行理解...
vue js 高階函式
nums 1,2,6,7,3,4,5 objectnums 遍歷集合中的所有元素,對每乙個元素進行單獨的相同的操作 1.每個成員乘以2倍 物件陣列計算 return this.nums.map function n return this.objectnums.map function n 結果 2...
python中高階函式
一等公民 高階函式 高階函式 high order function def counter base def inc step 1 nonlocal base base step return base return inc 上面的counter是高階函式,因為return inc,即返回函式 內...
Python的學習 Python中高階函式的應用
變數可以指向函式,函式的引數能接收變數,那麼乙個函式就可以接收另乙個函式作為引數,這種函式就稱之為高階函式。map 函式接收兩個引數,乙個是函式,乙個是序列 map將傳入的函式依次作用到序列的每個元素,並把結果作為新的序列返回 序列 1,2,3,4 的每個元素求絕對值 print list map ...