美文网首页
JavaScript对数组的高阶函数&Python高阶函数的异同

JavaScript对数组的高阶函数&Python高阶函数的异同

作者: 大黄_5485 | 来源:发表于2020-06-06 15:22 被阅读0次

JavaScript中的数组(Arrary)和Python中的列表(List)

 在JS中的数组(Array)和Python中的列表(List)其实表现的是同一种数据结构,因为JavaScript和Python同为弱类型语言(或者说动态语言),因此两者之间在变量、数据类型以及方法上都有很多相似的地方(真的非常相似,专精于其中一种语言的朋友可以了解一下另一只语言)。本文就讲一讲Python中的高阶函数(map,filter,reduce)和JavaScript中对数组的迭代操作的一些异同(其实同更多一点)

高阶函数

符合以下两个条件之一的即是高阶函数:

  1. 接收一个函数作为参数
  2. 返回值为一个函数(的索引)

异同

在python中,高阶函数是一个面向所有可迭代对象使用的函数,而并非某种数据类型自带的方法。而在JavaScript里,高阶函数是作为方法封装在数组的原型中的,需要有具体的数组实例来调用才能实现。在JS和python中都有map()这个函数(方法),但是JS中的调用是这样的:

[1,2,3].map(function(){})

而python的使用是这样的

map(function,[1,2,3])

all()和every()

这两个函数的逻辑都是检查数组中的每一个元素,但是两者大有不同。先看两个函数的具体输入输出:

函数名 输入参数 输出 备注 语言
all() iterable True或False 如果iterable的所有元素不为0、''、False或者iterable为空,all()返回True,否则返回False; Python
every() callback(element,index,array)
 element:用于测试的当前值
 index:当前元素的索引
 array:调用every的当前数组
true或false 如果callback对每一项都返回 true,则返回 true,反之亦然 JavaScript

显然all()和every()最大的不同就是,在all()中,对于数组每一个元素的判断规则是固定的,即“的所有元素不为0、''、False或者iterable为空”,而every()则可以通过传入回调函数来自行决定判断规则。

any()和some()

和all()和every()的关系一样

函数名 输入参数 输出 备注 语言
any() iterable True或False 如果iterable中有任意一个元素不为0、''、False,any()返回True,否则返回False(包括iterable为空的情况); Python
some() callback(element,index,array)
 element:用于测试的当前值
 index:当前元素的索引
 array:调用every的当前数组
true或false 如果callback对任一项都返回 true,则返回 true。如果回调函数对所有项都返回false,则返回false JavaScript

未完待续。。

相关文章

  • JavaScript对数组的高阶函数&Python高阶函数的异同

    JavaScript中的数组(Arrary)和Python中的列表(List)  在JS中的数组(Array)和P...

  • Python高阶函数

    本文要点 1.什么是高阶函数 2.python中有哪些常用的高阶函数 什么是高阶函数? 在了解什么是高阶函数之前,...

  • JavaScript教程day13-高阶函数

    高阶函数 高阶函数英文叫Higher-order function。javascript的函数其实都指向某个变量。...

  • react hoc

    一、概念 高阶组件的概念应该是来源于JavaScript的高阶函数:高阶函数就是接受函数作为输入或者输出的函数 高...

  • js 关于高阶函数

    高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScript的函数其实都指...

  • JS基础回顾:高阶函数

    高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScript的函数其实都指...

  • wangyanhua--python2

    基本函数的使用 匿名函数 常用系统高阶函数 高阶函数 常用系统高阶函数 Python递归 安装第三方库 三国小说人...

  • JavaScript高阶函数(filter/sort)

    JavaScript高阶函数(filter/sort) filter() filter() 方法创建一个新数组, ...

  • javascript 函数(map、reduce)

    高阶函数 函数的参数可以接收另一个函数,这类函数称之为高阶函数 map JavaScript的map()是Arra...

  • JavaScript 高阶函数

    高阶函数是将函数作为参数或返回函数的函数。 之所以可以使用 JavaScript 编写高阶函数,是因为函数是值,这...

网友评论

      本文标题:JavaScript对数组的高阶函数&Python高阶函数的异同

      本文链接:https://www.haomeiwen.com/subject/fttazhtx.html