es6数组方法总结

47 篇文章 0 订阅
42 篇文章 0 订阅

1、for循环
2、foreach (es5)
3、map (es5)
4、some
5、every
6、filter

功能需求:扫码枪扫商品去判断当前护理项目下面是否存在这个商品 如果有 那么就存在前端的集合里面 如果没有 则提醒 没有此商品 护理项目会有多个 会存在 多个护理项目下面存在相同的商品需要核销

判断此商品是否存在我是用的some方法

let newAry = _this.goodsList.some(n => {
	let res = n.goodsList.some(r => {
			return r.barCode == goodBarCode
		})
		return res;
	})
	if(!newAry){
		uni.showModal({
			title:'该计费项目无此商品 请核查!'
		})
		//加了一个延时 提示后把数据清空 方便下一次扫码操作
		setTimeout(()=>{
			_this.goodName = '';
		},200)
		return false;
	}

some() 与 every() 的区别在于
some只要一个是true 那么整个循环完成都会返回true
every必须所有返回都是true 那么才会返回true 只要有一个是false那么就会返回false
所以才有 some 一真即真 every 一假即假

所以这里我判断扫码的商品编码和列表中的商品编码是否相同 如果有相同 那么我就继续后面新增商品数据的操作 如果一个都没有 那么就返回一个false 提示用户没有此商品 没有使用every的方法原因是因为 你扫的这个商品编码 有可能在第一个护理项目没有 但是会存在第二个甚至第三个

如果商品存在 那么继续后续添加数据的方法 使用的for循环 只要成功添加一条之后 就停止当前操作 继续扫码 所以return false

再来说说foreach和map的区别( 为什么没有使用这两个循环方法)

foreach和map都是无法跳出循环的 break、return false 都无法终止循环 甚至使用break还会报错。
map会返回一个新的数组 foreach是按照顺序去调用数组中的每一个元素 没有return值

filter下次更 = = 没时间了 我要去改bug了…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值