使用 Array.includes Array.every Array.some  处理多重循环条件

Array.includes

一个最常见的循环例子:

function demo(fruit) {
	if(fruit === 'apple' || fruit === 'strawberry'){
		console.log('red fruit')
	}
}

这是一段没有任何问题的,内部含有条件判断的函数,然而如果我们有很多种类的水果需要匹配更多的水果颜色,这时我们如果还按照传统的条件判断,就需要写更多的 || 来扩展我们条件语句。

我们可以使用 Array.includes(arr) 重新写以上的条件语句。

function demo(fruit){
	const redfruits = ['apple', 'strawberry', 'cherry', 'cranberries']
	
	if(redfruits.includes(fruit)) {
		console.log('red')
	}
}

这里我们使用一个辅助数组将 同一种颜色的水果放在了一个数组当中,这样在使用 if 条件判断的时候就简介的多了。

当有多种颜色需要匹配多种水果的时候我们同样可以使用辅助对象来实现我们的 if 条件的简写。

function demo (fruit) {
	let fruitColor = {
		red: ['apple', 'strawberry', 'cherry', 'cranberries'],
		green: ['watermelon', 'pear']
	}
	object.keys(fruitColor).forEach(color => {
		if(color.includes(fruit)) {
			console.log('red')
		}
	})
}

Array.every /Array.some 处理全部满足和部分满足

  • 检查是否所有的水果都是红色。
const fruits = [
	{ name: 'apple', color: 'red' },
    { name: 'banana', color: 'yellow' },
    { name: 'grape', color: 'purple' }
]

function demo () {
	// every 返回是否同时满足函数内条件
	const isAllRed = fruits.every(fruit => fruit.color === 'red')

	consolE.log(isAllRed) // false
}
  • 检查是否至少有一个水果是红色。
	function demo () {
		const isAnyRed = fruits.some(fruit => fruit.color === 'red')
		console.log(isAnyRed) //true
	}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值