javascript map forEach filter some every在购物车中的实战演练区分用法
1.map forEach
1.map 循环遍历每一项,返回一个新的数组
例: 购物车商品小计:
//购物车
var cart=[
{"id":101,"name":"大米","count":1,"price":3.3,"check":1},
{"id":102,"name":"小米","count":2,"price":3.3,"check":1},
{"id":103,"name":"二米","count":3,"price":3.3,"check":1},
]
//每个购物车中的小计
var cartPrices =cart.map(item=>{
return (item.count*item.price).toFixed(2)
})
console.log(cartPrices);
2.forEach 循环遍历每一项,并不返回值
例:计算商品价格的总和:
//购物车
var cart=[
{"id":101,"name":"大米","count":1,"price":3.3,"check":1},
{"id":102,"name":"小米","count":2,"price":3.3,"check":1},
{"id":103,"name":"二米","count":3,"price":3.3,"check":1},
]
//每个购物车中的小计
var cartPrices = cart.map(item=>{
return (item.count*item.price).toFixed(2)
})
//计算总和
var totalPrice = 0
cartPrices.forEach((item,index)=>{
totalPrice+=parseFloat(item);
})
console.log(totalPrice.toFixed(2));
2.filter 过滤出正确的那一项
例: 显示购物车信息
//商品ID
var id = 101;//101胶水'.'
//购物车
var cart=[
{"id":101,"name":"大米","count":1,"price":3.3,"check":1},
{"id":102,"name":"小米","count":2,"price":3.3,"check":1},
{"id":103,"name":"二米","count":3,"price":3.3,"check":1},
]
//过滤出该商品信息
var goods = cart.filter(item=>{
return item.id == id;
})
console.log(goods);
3.some 和 every 过滤每一项是否有正确的
1.some 如果有满足条件返回true不在向下执行 ,如果没有满足条件返回false
例: 购物车是否选中
//商品ID
var id = 101;//101胶水'.'
//购物车
var cart=[
{"id":101,"name":"大米","count":1,"price":3.3,"check":0},
{"id":102,"name":"小米","count":2,"price":3.3,"check":1},
{"id":103,"name":"二米","count":3,"price":3.3,"check":1},
]
//过滤购物车商品是否选中状态
var ischeck = cart.some(item=>{
if(item.id == id){
return item.check;
}
})
console.log(ischeck)
2.every 数组的每一项是否都满足条件返回true,否则返回false
例:购物车商品是否全选状态
//商品ID
var id = 101;//101胶水'.'
//购物车
var cart=[
{"id":101,"name":"大米","count":1,"price":3.3,"check":1},
{"id":102,"name":"小米","count":2,"price":3.3,"check":0},
{"id":103,"name":"二米","count":3,"price":3.3,"check":1},
]
//过滤购物车商品是否选中状态
var isallcheck = cart.every(item=>{
return item.check;
})
console.log(isallcheck)
javascript map forEach filter some every在购物车中的实战演练区分用法的更多相关文章
- js数组遍历(for in ,for of ,map,foreach,filter)的区别
一.for in 和for of 的区别 1.for in 遍历数组时,索引实际上是字符串类型的数字,不能进行运算,我们来输出一下: let arr = [1,3,5,4] for (let inde ...
- javascript中some,every,map,filter是只用和ansyc中的each,eachLimit,map,mapLImit,filter的使用
var t = [1,2,3,4,5]; //some找到数组中第一个符合要求的值后就不在继续执行//用来判断数组中是否存符合要求的值,返回结果true|false//function返回类型为boo ...
- javaScript 的 map() reduce() foreach() filter()
map(映射), reduce(规约), forEach(遍历), filter(过滤),它们都是高阶函数,都是以传入不同的函数来以不同的方式操作数组元.ie都不支持 一.map方法 *概述 map( ...
- JavaScript数组方法的兼容性写法 汇总:indexOf()、forEach()、map()、filter()、some()、every()
ECMA Script5中数组方法如indexOf().forEach().map().filter().some()并不支持IE6-8,但是国内依然有一大部分用户使用IE6-8,而以上数组方法又确实 ...
- forEach、map、filter、find、sort、some等易错点整理
一.常用方法解析 说起数组操作,我们肯定第一反应就是想到forEach().map().filter()等方法,下面分别阐述一下各方法的优劣. 1.forEach 1.1 基础点 forEac ...
- [Javascript] Chaining the Array map and filter methods
Both map and filter do not modify the array. Instead they return a new array of the results. Because ...
- every();some();filter();map();forEach()各自区别:
every();some();filter();map();forEach()各自区别: (1)every()方法:(返回值为boolean类型) 对数组每一项都执行测试函数,知道获得对指定的函数返回 ...
- ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)
目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...
- forEach、map、filter、reduce的区别
1.相同点: 都会循环遍历数组中的每一项: map().forEach()和filter()方法里每次执行匿名函数都支持3个参数,参数分别是:当前元素.当前元素的索引.当前元素所属的数组: 匿名函数中 ...
随机推荐
- 微软Power BI 每月功能更新系列——8月Power BI 新功能学习
Power BI Desktop 8月新功能摘要 Power BI 产品八月发布的新版本又刷新了大家所期待的一些功能,它可以更方便的解决我们从用户那里听到的一些最重要的请求:其中最令人兴奋的是我们的导 ...
- threejs 空间位置转为屏幕像素xy位置
function createVector(x, y, z, camera, width, height) { var p = new THREE.Vector3(x, y, z); var vect ...
- 【转载】 pytorch之添加BN
原文地址: https://blog.csdn.net/weixin_40123108/article/details/83509838 ------------------------------- ...
- 安卓 dex 通用脱壳技术研究(四)
/* 当第一个类执行到此函数时,我们在dvmDefineClass执行之前,也就是第一个类加载之前 注入我们的dump代码:即DumpClass()函数 */ static void ...
- Mysql安装和基本使用
MySQL的介绍安装.启动 windows上制作服务 MySQL破解密码 MySQL中统一字符编码 MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Ora ...
- busybox devmem 直接获取、修改内存信息
/********************************************************************** * busybox devmem 直接获取.修改内存信息 ...
- 利用scrapy下载图片保存到本地
1.先声明一下,起始位置已经是将所有的图片链接都能到pipelines.py中 2.创建一个类,继承于ImagesPipeline,因此也就需要导入ImagesPipeline from scrapy ...
- XML中DTD,XSD的区别与应用
XML我们并不陌生,在企业级应用中有很广的用途.具体就不再说,下面介绍一下DTD,XSD的区别并以XSD为例看spring中定义与使用.1.DTD(Documnet Type Definition)D ...
- active在iphone上不起作用
在js中加一个空的touchstart函数 $(function(){ document.body.addEventListener('touchstart',function(){ }); 或在&l ...
- 【java编程-Javassist】秒懂Java动态编程(Javassist研究)
作者:ShuSheng007 来源:CSDN 原文:https://blog.csdn.net/ShuSheng0007/article/details/81269295 版权声明:本文为博主原创文章 ...