亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript中常見的高階函數(shù)總結

 更新時間:2022年02月22日 10:42:45   作者:.慢慢亦漫漫  
JavaScript的函數(shù)其實都指向某個變量,既然變量可以指向函數(shù),函數(shù)的參數(shù)能接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù),這篇文章主要給大家介紹了關于JavaScript中常見的高階函數(shù),需要的朋友可以參考下

前言

一個函數(shù)可以接受另一個函數(shù)作為參數(shù),就把這個函數(shù)叫做高階函數(shù)。

一個最簡單的高階函數(shù):

function add(x, y, f) {
    return f(x) + f(y);
}
//當調用add(-5, 6, Math.abs)時,參數(shù)x,y和f分別接收-5,6和函數(shù)Math.abs,根據(jù)函數(shù)定義,可以推導計算過程為:
//x = -5;
//y = 6;
//f = Math.abs;
//f(x) + f(y) ==> Math.abs(-5) + Math.abs(6) ==> 11;
//return 11;

//用代碼驗證一下:
add(-5, 6, Math.abs); // 11

map函數(shù)

map()方法定義在JavaScript的數(shù)組中,我們調用Array的map()方法,傳入我們自己的函數(shù),就得到了一個新的數(shù)組。

舉個例子:現(xiàn)在有一個數(shù)組,想讓每個數(shù)組元素都變成它的平方,輸出這個新數(shù)組,傳統(tǒng)方法也很簡單,今天我們用map函數(shù)來寫:

 function pow(x) {
            return x * x;
        }

        var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
        alert (arr.map(pow))

reduce函數(shù)

數(shù)組的reduce()把一個函數(shù)作用在這個數(shù)組的[x1, x2, x3…]上,這個函數(shù)必須接收兩個參數(shù),reduce()把結果繼續(xù)和序列的下一個元素做累積計算。

舉個例子:

let arr=[6,8,8,6,9,6]
        let a=arr.reduce(function(x,y){
            return x+y;
        })
        alert(a)

filter函數(shù)

filter函數(shù)可以說是數(shù)組的一個過濾函數(shù),它會將接收的函數(shù)作用于每一個元素,然后根據(jù)返回的布爾值決定這個元素留下還是丟掉。

filter()接收的回調函數(shù),其實可以有多個參數(shù) ,通常我們僅使用 第一個參數(shù) 表示元素的位置和數(shù)組本身。

看一個簡單的例子:有一個數(shù)組,現(xiàn)在想只保留數(shù)組的偶數(shù)元素,奇數(shù)元素全部過濾掉,看下代碼:

var arr = [1,2,1,2,1,2,1,2];
        var r = arr.filter(function (x) {
            return x % 2 == 0;
        });
        alert(r)

sort

sort主要用于排序

看下例子:有一個數(shù)組,想將它按從小到大或從大到小的順序排列,看下代碼:

//從小到大排列
 let arr=[1,3,1,2,3,6,4,3]
        let arr1=arr.sort((a,b)=>a-b)
        alert(arr1)

//從大到小排列
 let arr=[1,3,1,2,3,6,4,3]
        let arr1=arr.sort((a,b)=>b-a)
        alert(arr1)

every方法

數(shù)組對象提供的every()方法判斷數(shù)組的所有元素是否滿足測試條件

舉個例子:測試數(shù)組元素是否大于6

let arr=[4,6,8,8]
        let result=arr.every(function(a){
            return a>6
        })
        alert(result)

find方法

數(shù)組對象提供的find()方法用于查找符合條件的第一個元素,如果找到 了,返回這個元素,否則,返回undefined

let arr=[4,6,8,9]
        let result=arr.find(function(a){
            return a>6
        })
        alert(result)

findIndex方法

數(shù)組對象提供的find()方法用于查找符合條件的第一個元素,如果找到 了,返回這個元素的索引

 let arr=[4,6,8,9]
        let result=arr.findIndex(function(a){
            return a>6
        })
        alert(result)

foreach方法

forEach() 方法對數(shù)組的每個元素執(zhí)行一次給定的函數(shù)

舉個例子:遍歷數(shù)組,先使用傳統(tǒng)的for循環(huán),再使用foreach函數(shù),看下代碼:

const items = ['item1', 'item2', 'item3'];
const copy = [];
//傳統(tǒng)方式
for (let i=0; i<items.length; i++) {
  copy.push(items[i]);
}
// foreach方法
items.forEach(function(item){
  copy.push(item);
});

總結

到此這篇關于JavaScript中常見的高階函數(shù)總結的文章就介紹到這了,更多相關JavaScript高階函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論