网易首页 > 网易号 > 正文 申请入驻

JavaScript高阶函数

0
分享至

我的读者们,新年快乐,希望新的一年里大家继续支持,我会为大家奉上更多更好的文章与视频。

关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。

高阶函数是编程中一个重要且强大的概念,它允许您编写更灵活和模块化的代码。在 JavaScript 中,它们是使用其他回调函数的函数,可以将它们作为参数或将它们作为输出返回。

在 JavaScript 中我们有一些高阶数组函数,它们包括:

  1. Map 函数:这是一个高阶函数,它接受一个数组和一个函数作为参数,并返回一个新的修改后的数组,该数组是将函数应用于前一个数组的每个元素的结果。

let array1 = [3, 5, 17, 30];

//create function

function multiply(p1) {

return p1 * 2;

//pass function as an argument

const map1 = array1.map(multiply);

console.log(map1);

// expected output:

Array [6,10,34,60]

  1. Filter 函数:这是一个高阶函数,它接受一个数组和一个函数作为参数,但在这种情况下只返回一个新的元素数组,这些元素在函数中传递了给定的条件。

let array1 = [3, 5, 17, 30];

//filters out only numbers greater than 6

const result = array1.filter(x => x > 6);

console.log(result);

// expected output:

Array [17,30]

  1. Reduce 函数:这是一个高阶函数,它接受一个数组和一个函数作为参数,但它只返回一个值,该值是按特定顺序将函数应用于数组的每个元素的结果。这可能会造成混淆,所以让我们使用直接来自 MDN 的常见且简单的示例
    MDN 网络文档

    MDN Web Docs 站点提供有关开放式 Web 技术的信息,包括用于网站和渐进式 Web 应用程序的 HTML、CSS 和 API。

    developer.mozilla.org

    解释

const array1 = [1, 2, 3, 4];

const initialValue = 0;// 0 + 1 + 2 + 3 + 4

const sumWithInitial = array1.reduce((accumulator, currentValue) => accumulator + currentValue,initialValue);

console.log(sumWithInitial);

//Expected output: 10

reducer 逐个元素遍历数组,在每一步将当前数组值添加到上一步的结果(此结果是所有先前步骤的运行总和)——直到没有更多元素要添加。在这里阅读更多..

  1. Sort 函数:这是一个高阶函数,它接受一个数组和一个函数作为参数,并返回对同一数组的引用,现在根据将函数应用于每个元素的结果进行排序。但是,这可以默认使用(它将所有元素视为字符串并按升序对它们进行排序)而无需函数参数,例如..

const names = ['Michael','Amy', 'John', 'Faith', 'Dan'];

//the sort function in defaultnames.sort();

console.log(names);

// expected output:

Array ["Amy", "Dan", "Faith", "John", "Michael"]

但是,当我们需要对字符串以外的其他内容进行排序时,例如数字,那么我们将需要添加一个函数来处理它。这是对数字进行排序的示例

const array1 = [1, 30, 4, 21, 10000];

//function that sorts by going through and return the lowest of two numbers

function numSort (a,b) {return (a - b);}

//calling the sort function with the numSort callback function

array1.sort(numSort);

console.log(array1);

//Expected result : [1,4,21,30,100000]

  1. For Each 函数:这是一个高阶函数,它将一个数组和一个函数作为参数,并将该函数应用于数组的每个元素。它不返回一个新数组,而只是对同一个数组的每个元素执行一个操作。

const foods = ['pizza', 'spaghetti', 'food from Chowopa.com', 'burgers'];

//applies this function on each element in the foods array

foods.forEach((food) => {

let statement = `I am hungry, maybe I'll get ${food}`;

console.log(statement);

高阶函数为您提供了一种更简单的方法来编写更简洁和更具表现力的代码,并且还可以摆脱编写复杂循环或条件语句的需要。

我希望你觉得这很有用。再见。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
银行副行长误将女员工表白视频群发,两人相差20岁,官方发声力挺

银行副行长误将女员工表白视频群发,两人相差20岁,官方发声力挺

求实者
2024-06-14 22:18:32
又赚到了!孟加拉四处炫耀中国给建的大桥:开通当天过路费破千万

又赚到了!孟加拉四处炫耀中国给建的大桥:开通当天过路费破千万

咖啡店的老板娘
2024-06-14 18:48:06
美军要炸沉这艘大舰!

美军要炸沉这艘大舰!

新民晚报
2024-06-14 08:49:31
欧洲杯首秀便破门,导演5-1!1.3亿天才闪耀揭幕战,缔造5大神迹

欧洲杯首秀便破门,导演5-1!1.3亿天才闪耀揭幕战,缔造5大神迹

侃球熊弟
2024-06-15 05:02:54
印尼发生罕见事故,45岁妇女被6米蟒蛇活吞,丈夫带人杀蟒寻尸

印尼发生罕见事故,45岁妇女被6米蟒蛇活吞,丈夫带人杀蟒寻尸

社会酱
2024-06-14 17:19:12
中国锁定总决赛,塞尔维亚出局,八强已定六席,世联最新排名

中国锁定总决赛,塞尔维亚出局,八强已定六席,世联最新排名

撒丁岛体育
2024-06-14 22:40:48
17岁93分全球第12名,数学女天才却是一名中专生,江苏教育被骂惨

17岁93分全球第12名,数学女天才却是一名中专生,江苏教育被骂惨

鬼菜生活
2024-06-14 19:09:08
克里米亚大桥还能活多久?

克里米亚大桥还能活多久?

西楼饮月
2024-06-14 21:22:59
数学天才姜萍要失望了:被浙大婉拒,老师称顶多上个常熟理工!

数学天才姜萍要失望了:被浙大婉拒,老师称顶多上个常熟理工!

爱下厨的阿椅
2024-06-14 19:37:58
热搜上毁三观的“和男朋友天天做饭”:新型羞耻,害惨中国年轻人

热搜上毁三观的“和男朋友天天做饭”:新型羞耻,害惨中国年轻人

小椰子专栏
2024-06-14 13:02:51
网传临时搬运工的招聘信息,一天工作15个小时工资80,上厕所时间一天三次违者罚500

网传临时搬运工的招聘信息,一天工作15个小时工资80,上厕所时间一天三次违者罚500

可达鸭面面观
2024-06-14 22:16:19
“人民”警察网暴人民,丧尽天良!

“人民”警察网暴人民,丧尽天良!

观风者
2024-06-14 10:06:53
闹大了!黄一鸣再曝猛料:不只生了一个孩子!这下王思聪麻烦大了

闹大了!黄一鸣再曝猛料:不只生了一个孩子!这下王思聪麻烦大了

校长侃财
2024-06-14 12:54:40
网传某高校劳务派遣人员管理办法,基本工资2570元/月,岗位津贴最高4038元

网传某高校劳务派遣人员管理办法,基本工资2570元/月,岗位津贴最高4038元

可达鸭面面观
2024-06-14 16:25:01
女排最水先发 朱婷多次倒地对刁琳宇喊话曝光 蔡斌迷信她恐酿苦果

女排最水先发 朱婷多次倒地对刁琳宇喊话曝光 蔡斌迷信她恐酿苦果

厝边人侃体育
2024-06-15 00:54:43
中国著名演员张嘉译传来最新消息!以后难以见到了!

中国著名演员张嘉译传来最新消息!以后难以见到了!

综艺拼盘汇
2024-06-14 23:26:45
3-0!中国女排横扫德国夺两连胜,朱婷成万花筒,王媛媛拦网建功

3-0!中国女排横扫德国夺两连胜,朱婷成万花筒,王媛媛拦网建功

体坛纪录片
2024-06-14 21:53:51
哈尔科夫战场,最可笑的一幕出现了!

哈尔科夫战场,最可笑的一幕出现了!

听风听你
2024-06-14 10:28:08
国足再添3位归化!算上现有的共7位,目标:进入世界杯8强

国足再添3位归化!算上现有的共7位,目标:进入世界杯8强

十点体坛
2024-06-14 22:42:32
什么?阿里全球数学竞赛竟是开卷考试!姜萍名次被质疑毫无含金量

什么?阿里全球数学竞赛竟是开卷考试!姜萍名次被质疑毫无含金量

今日搞笑分享
2024-06-15 01:56:42
2024-06-15 07:28:49
墨谈科技
墨谈科技
业务数码玩家.无聊的博主
2983文章数 566关注度
往期回顾 全部

科技要闻

马斯克重获信任 豪言特斯拉市值超10个苹果

头条要闻

欧洲杯-维尔茨斩首球哈弗茨破门 德国5-1苏格兰

头条要闻

欧洲杯-维尔茨斩首球哈弗茨破门 德国5-1苏格兰

体育要闻

我们为什么还爱欧洲杯?

娱乐要闻

江宏杰秀儿女刺青,不怕刺激福原爱?

财经要闻

“石油美元”协议走向终结 影响几何?

汽车要闻

提供100/240kW双电机版本车型 乐道L60实车曝光

态度原创

旅游
游戏
健康
公开课
军事航空

旅游要闻

中国女游客在泰国遭假冒司机性侵 嫌疑人竟是惯犯

《活侠传》Steam多半差评 存档有问题

晚餐不吃or吃七分饱,哪种更减肥?

公开课

近视只是视力差?小心并发症

军事要闻

美国与乌克兰签署双边安全协议

无障碍浏览 进入关怀版