javascript利用map,every,filter,some,reduce,sort对数组进行最优化处理

案例:

var scoresTable=[
    {id:11,name:"小张",score:80},
    {id:22,name:"小王",score:95},
    {id:33,name:"小李",score:50},
    {id:44,name:"小刘",score:65},
    {id:55,name:"小徐",score:84}
]
1、快速获取最高score值(采用map,Max.sum和apply)
var scores=scoresTable.map(function(item){return item.score});
var maxScore=Math.max.apply(this,scores)
console.log(maxScore)
2、是否包含不及格学生(some)
var hasFail=scoresTable.some(function(item){return item.score<60;})
console.log(hasFail)
3、求平均分(reduce)
var averageScore=scoresTable.reduce(function(a,b){return a + b.score;},0)/scoresTable.length;
console.log(averageScore)

4、按成绩从高到低排序(sort)

var score=scoresTable.sort(function(a,b){return a.score<b.score;})
console.log(score)

5、找出不及格学生(filter)

var failStudents=scoresTable.filter(function(item){return item.score<60;})
console.log(failStudents)

6、是否所有学生的学号都是11的倍数(every)

var t=scoresTable.every(function(item){return item.id%11==0;})
console.log(t)
时间: 2024-10-14 23:00:18

javascript利用map,every,filter,some,reduce,sort对数组进行最优化处理的相关文章

JavaScript Array --&gt;map()、filter()、reduce()、forEach()函数的使用

题目: 1.得到 3000 到 3500 之内工资的人. 2.增加一个年龄的字段,并且计算其年龄. 3.打印出每个人的所在城市 4.计算所有人的工资的总和. 测试数据: function getData() { var arr = [{ id: 1, name: 'ohzri', birth: '1999.09.09', city: '湖北', salary: 9379 }, { id: 2, name: 'rqgfd', birth: '1999.10.28', city: '湖北', sal

C#数组的Map、Filter、Reduce等价方法

在Javascript.Python等语言里,Map.Filter和Reduce是数组的常用方法,可以让你在实现一些数组操作时告别循环,具有很高的实用价值.它们三个的意义大家应该都清楚,有一个十分形象的解释如下: 然而,支持lambda表达式的C#也有类似的方法,但不是这样命名的.实现IEnumerable接口的类(如List.HashSet.继承Array的类等)都有如下等价方法: “Map” => Select方法 “Filter” => Where方法 “Reduce” => Ag

Swift函数编程之Map、Filter、Reduce

在Swift语言中使用Map.Filter.Reduce对Array.Dictionary等集合类型(collection type)进行操作可能对一部分人来说还不是那么的习惯.对于没有接触过函数式编程的开发者来说,对集合类型中的数据进行处理的时候第一反应可能就是采用for in遍历.本文将介绍一些Swift中可以采用的新方法. Map Map函数会遍历集合类型并对其中的每一个元素进行同一种的操作.Map的返回值是一个所得结果的数组.例如:我们要对一个数组里面的数据进行平方操作,常见的代码如下:

使用python实现内置map,filter,reduce函数

map函数 # -*- coding: cp936 -*- def myselfmap(f,*args):     def urgymap(f,args):         if args==[]:             return []         else:             return [f(args[0])]+urgymap(f,args[1:])     if list(args)[0]==[]:             #*args有多个参数被传递时返回tuple  

Swift高阶函数:Map,Filter,Reduce

闭包介绍 Swift一大特性便是使用简洁的头等函数/闭包语法代替了复杂的blocks语法.希望我们在Swift中不再需要像fuckingblocksyntax中所描述的语法.(译者注:头等函数-即可将函数当作参数传递给其他的函数,或从其他的函数里返回出值,并且可以将他们设定为变量,或者将他们存储在数据结构中) 闭包是自包含的blocks,它能在代码中传递和使用. 本文我们将重点介绍匿名定义的闭包(如:定义成内联的且不具名)也称匿名闭包.我们能够将其作为参数传递给其他函数/方法或者将其作为返回值.

Python的map、filter、reduce函数

python提供了map.filter.reduce三个函数,用于对一整组输入进行统一处理. map:映射,对一整组输入中的每个值进行一个函数计算,输出每个值对应的结果. filter:过滤,输入的函数必须有一个返回值True或者False,filter只会把经过函数处理后结果是True的值输出. reduce:归纳,会对所有输入运用一个函数,返回一个输出. 例子: def even(x): return x%2==True map(even,range(4)) =>[True,False,Tr

Python 函数之lambda、map、filter和reduce

1.lambda函数 lambda()是Python里的匿名函数,其语法如下: lambda [arg1[, arg2, ... argN]]: expression 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 if 1 == 1: name = 'evescn' else: name = 'gm' # 三元运算 name = 'evescn' if 1 == 1 else 'gm' 对于简单的函数,也存在一种简便的表示方式,即:lambda

python map、filter、reduce

Python has a few functions that are useful for this sort of “functional programming”: map, filter, and reduce. 4 (In Python 3.0, these are moved to the functools module.) The map and filter functions are not really all that useful in current versions

Swift高阶函数介绍(闭包、Map、Filter、Reduce)

Swift语言有非常多函数式编程的特性.常见的map,reduce,filter都有,初看和python几乎相同,以下简介下 闭包介绍: 闭包是自包括的功能代码块,能够在代码中使用或者用来作为參数传值. 如果我们须要两个函数,当中一个计算两个数的平方的平均值,还有一个计算两个数的立方的平均值,传统的解决方法会是这样: 代码func square(a:Float) -> Float { return a * a}func cube(a:Float) -> Float { return a * a