首页 > 编程语言 >JavaScript学习 -- 高阶函数

JavaScript学习 -- 高阶函数

时间:2023-06-26 15:33:49浏览次数:40  
标签:function arr console log -- JavaScript let 高阶 函数

一、普通函数比较大小写

声明函数判断大于或小于数组中的某个数

let arr=[1,2,3,4,5,6,7,8,9]
function aiyou(a){
 for (let i = 0; i < arr.length; i++) {
 if (arr[i]>a){
 console.log(arr[i])
 }
 }
 console.log("****************************")
}
function bucuo(a){
 for (let i = 0; i < arr.length; i++) {
 if (arr[i]<a){
 console.log(arr[i])
 }
 }
 console.log("****************************")
}
aiyou(1)
aiyou(5)
aiyou(8)
bucuo(5)

二、改写为高阶函数

1、高阶函数可以理解为将函数作为参数传递

let arr=[1,2,3,4,5,6,7,8,9]
function aiyou(a,ay){
 for (let i = 0; i < arr.length; i++) {
 if (ay(arr[i],a)){//将条件改为一个函数比较
 console.log(arr[i])
 }
 }
 console.log("****************************")
}

2、调用方式,核心代码无需改变

aiyou(5,function (a,b){
 return a<b;
})
aiyou(5,function (a,b){
 return a>b;
})

三、排序

1、sort函数默认排序是从小到大

let arr=[1,9,5,8,7,2,6,3,4]
arr.sort()
console.log(arr)
运行结果:
[
 1, 2, 3, 4, 5,
 6, 7, 8, 9
]

2、传递一个函数参数实现从大到小排列

let arr=[1,9,5,8,7,2,6,3,4]
arr.sort(function (a,b){
 return b-a
})
console.log(arr)
运行结果:
[
 9, 8, 7, 6, 5,
 4, 3, 2, 1
]

标签:function,arr,console,log,--,JavaScript,let,高阶,函数
From: https://blog.51cto.com/u_15288375/6554806

相关文章

  • Kubernetes编程——通过命令行使用 API
    通过命令行使用API 长话短说,我们将使用以batchAPI组为例来讲cli相关的操作。 首先,需要在终端运行下面的命令:[root@localhost~]#kubectlproxy--port=8089Startingtoserveon127.0.0.1:8089这个命令把kubernetesAPI服务代理到了本地,并处理了有关身......
  • ABAQUS盾构隧道开挖模型Cae文件,一环7片,含螺栓,配筋。 (此模型用的㎜单位制)
    ABAQUS盾构隧道开挖模型Cae文件,一环7片,含螺栓,配筋。(此模型用的㎜单位制)在ABAQUS软件中,存在一个盾构隧道开挖模型的Cae文件。该模型由一环七片组成,其中包含螺栓和配筋。该模型使用毫米作为单位制。这段话涉及到的知识点和领域范围是:ABAQUS软件、盾构隧道开挖模型、Cae文件、螺栓......
  • Bert Pytorch 源码分析:四、编解码器
    #Bert编码器模块#由一个嵌入层和NL个TF层组成classBERT(nn.Module):"""BERTmodel:BidirectionalEncoderRepresentationsfromTransformers."""def__init__(self,vocab_size,hidden=768,n_layers=12,attn_heads=12,d......
  • epoll的两种触发模式
    epoll有两种模式,EdgeTriggered(简称ET)和LevelTriggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知. 以代码来说明问题: 首先给出server的代......
  • 贝叶斯算法人生
    哈喽大家好,我是咸鱼之前看到过耗子叔写的一篇文章《程序算法与人生选择》,这篇文章中耗子叔结合计算机中的经典算法(排序、动态规划等等),让大家在人生道路的选择上获得了一些启发我最近看了一些关于贝叶斯思想的文章,觉得还挺有感触的,于是打算写一篇相关的文章今天这篇文章不会跟大......
  • linux 安装 mysql 的 glibc 包
    下载mysql:http://downloads.mysql.com/archives.php选择一个mysql的版本,之后一定要看好,下glibc的。如:mysql-5.0.90-linux-i686-glibc23.tar.gz本例中下载到了/media目录下,这个不是好习惯... ▲安装mysql:下面是linux命令:$sudogroupaddmysql:$sudouseradd-gmysql......
  • 基于Crowbar电路的双馈风力发电机DFIG低电压穿越LVRT仿真模型
     这个仿真模型是基于Crowbar电路的双馈风力发电机(DFIG)的低电压穿越(LVRT)模型。该模型使用MatlabSimulink进行仿真,并采用保护电路(串电阻)来实现低电压穿越功能。当电网电压下降时,保护电路会被激活,抑制转子过电流。Crowbar电路的电阻阻值和投入时间可以进行调节,这样可以模拟多组不同......
  • grep、sed和awk命令的简单使用
                  grep命令选项意义-c匹配行的数量-i忽略大小写-h查询多文件时不显示文件名-l只列出匹配的文件名,不列匹配行-n列出匹配行,并列出行号-s不显示不存在或无匹配的错误信息-v显示不包含匹配文本的所有行-w匹配整词-r递归搜索,搜子目录-E支持扩......
  • Python爬虫完整代码模版
    以下是一个基本的Python爬虫代码模板,可以根据需要进行修改:importrequestsfrombs4importBeautifulSoup#设置请求头,模拟浏览器访问headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110......
  • i5/i7该选谁?差距大不大?i5-13490F、i7-13790F深度测试
    一、i5、i7还是性能差不多吗?自从2017年Zen架构发布开始,Intel与AMD在CPU性能竞争上就进入了激烈的内卷。随着双方在产品竞争上日趋白热化,同世代不同档次CPU产品的性能差距被明显拉大。那么,过去那种“i5、i7性能差不多,用i5性价比比较高”的观点是否依然成立?今天就带来Intel i5-13490......