const app=new Vue({
el:'#app',
data:{
books:[{
id:1,
name:"算法导论",
data: '2006-1',
price:39.00,
count:1
},{
id:2,
name:"算法导论",
data: '2006-1',
price:39.00,
count:1
},{
id:3,
name:"算法导论",
data: '2006-1',
price:39.00,
count:1
},{
id:4,
name:"算法导论",
data: '2006-1',
price:39.00,
count:1
}]
},
methods:{
getfinalprice(price){
return "$"+price.toFixed(2);
},
decreasement(index){
this.books[index].count--;
},
increasment(index){
this.books[index].count++;
},
remove(index){
this.books.splice(index,1);
}
},
filters:{
getp(price){
return "$"+price.toFixed(2);
}
},
computed:{
totalPrice(){
// let result=0;
//1普通for循环
// for (let i=0;i<this.books.length;i++){
// result+=this.books[i].price*this.books[i].count;
// }
// return result;
// 2for(let i in this.books)
// for (let i in this.books){
// console.log(i);//可以获得下标的索引值
// }
// 3直接拿到books的每一项
// let totalprice=0;
// for (let item of this.books){
// totalprice+=item.price*item.count;
// }
// return totalprice; // 4高阶函数
/*
* filter map reduce
* filter中的回调函数有一个要求,必须返回一个布尔值;符合条件则会打印在一个新的数组中
* true:函数内部会自动将这次回调的n加入到新的数组中
* false:当返回false时,函数内部就会过滤掉这次的n
*
* */
// const nums=[122,2,3,43,53,6,7,8,];
// let newnum= nums.filter(function (n) {
// return n<100;
// });
// console.log(newnum)
// //map函数的使用 特点直接进行计算;
// let new2=nums.map(function (n) {
// return n*2;
// });
// console.log(new2); // reduce函数的使用 作用:对数组中的所有内容进行汇总;
// const nums=[122,2,3,43,53,6,7,8];
// let num3=nums.reduce(function (prevalue,n){
// return prevalue +n;
// },0);
// return num3;
// 使用高阶函数进行实现
// const nums=[122,2,3,43,53,6,7,8];
// let total=nums.filter(function (n) {
// return n<100;
// }).map(function (n) {
// return n*2;
// }).reduce(function (prevalue,n) {
// return prevalue+n;
// },0);
// console.log(total); return this.books.reduce(function (prevalue,book) {
return prevalue+book.price*book.count ;
},0) }
}
});

高阶函数 filter map reduce的更多相关文章

  1. python 函数式编程:高阶函数,map/reduce

    python 函数式编程:高阶函数,map/reduce #函数式编程 #函数式编程一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 #(一)高阶函数 f=abs f print ...

  2. js基础--高阶函数(map,reduce,filter,sort)

    高阶函数 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数,编写高阶函数,就是让函数的参数能够接收别的函数. function add (x,y,f){return f(x)+f(y)} ...

  3. Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

    函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...

  4. (转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)

    原文:https://www.cnblogs.com/chenwolong/p/reduce.html 函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数 ...

  5. [py][lc]python高阶函数(匿名/map/reduce/sorted)

    匿名函数 - 传入列表 f = lambda x: x[2] print(f([1, 2, 3])) # x = [1,2,3] map使用 传入函数体 def f(x): return x*x r ...

  6. Python学习笔记系列——高阶函数(map/reduce)

    一.map #变量可以指向函数,函数的参数能接受变量,那么一个函数就可以接受另一个函数作为参数,这种函数被称之为高阶函数 def add(x,y,f): return f(x)+f(y) print( ...

  7. 高阶函数:map()/reduce()

    Python内建了map()和reduce()函数. 如果你读过Google的那篇大名鼎鼎的论文“MapReduce: Simplified Data Processing on Large Clus ...

  8. python的高阶函数(map,reduce,filter)

    Map函数 Map()函数接受两个参数,第一个参数是函数,第二个参数是序列(list,tuple),map将函数依次作用到序列上的每一个元素上,并发结果作为新的list返回 其中map的第一个参数的函 ...

  9. js 高阶函数(map/reduce/filter/sort)

    1.map - 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值(注:map不会对空数组进行检测,不会改变原始数组) 语法:array.map(function(currentValu ...

随机推荐

  1. 模拟I2C协议学习点滴之复习三极管、场效应管

    晶体三极管分为NPN和PNP型两种结构形式,除了电源极性的不同工作原理是大致相同的.对于NPN管,它是由2块N型半导体夹着一块P型半导体所组成的,发射区与基区之间形成的PN结称为发射结,而集电区与基区 ...

  2. 【转】harbor仓库高可用集群部署说明

    之前介绍Harbor私有仓库的安装和使用,这里重点说下Harbor高可用集群方案的部署,目前主要有两种主流的Harbor高可用集群方案:1)双主复制:2)多harbor实例共享后端存储. 一.Harb ...

  3. [线性代数] 矩阵代数基础 Basic Matrix Algebra

    Overview: Matrix algebra Matrix algebra covers rules allowing matrices to be manipulated algebraical ...

  4. Tkinter 之MessageBox弹出框

    一.参数说明 语法 作用 截图 tk.messagebox.showwarning(title='提示', message='你确定要删除吗?') 警告信息弹窗   tk.messagebox.sho ...

  5. xiugai grub

    https://wiki.gentoo.org/wiki/Flicker_Free_Boot#Getting_the_custom_version_of_grub

  6. linux redhat 安装了jdk检查版本不是自己安装的版本的解决办法

    Linux下安装jdk java -version 不是自己所需要的版本 设置环境变量,这是最重要的 在etc/profile文件下添加 export JAVA_HOME=/usr/java/jdk1 ...

  7. [转]js创建1-100的数组

    //实现方法一:循环赋值var arr1 = new Array(100);for(var i=0;i<arr1.length;i++){ arr1[i] = i;}console.log(ar ...

  8. T-MAX—项目系统设计与数据库设计

    团队作业第四次-项目系统设计与数据库设计 这个作业属于哪个课程 2019秋福大软件工程实践Z班 这个作业要求在哪里 团队作业第四次-项目系统设计与数据库设计 团队名称 T-MAX 这个作业的目标 在开 ...

  9. sqlserver 触发器实例

    实例1:update USE [数据库名称]GO/****** Object: Trigger [dbo].[触发器名称] Script Date: 05/08/2014 12:40:25 ***** ...

  10. vim 操作命令大全(转)

    1. 关于Vim vim是我最喜欢的编辑器,也是Linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtu ...