es6之数组的几种新方法

这些知识点不常用到,写这个的目的是为了方便以后的复习,之后有什么项目需要用到该知识点的,便于在这里进行查询。
.find()查找数组当中满足某一个条件的元素
该方法接受三个参数
find(element, index, array)
找到了符合条件的第一个元素时就会立马返回,而不会执行后面的操作,与forEach相比有一定的优势,与for of相比语法更加简单清晰

const inventory = [
	{name: 'apples', quantity: 2},
	{name: 'bananas', quantity: 0},
	{name: 'cherries', quantity: 5},
];

const bananas = inventory.find(fruit => {
   console.log(fruit);
   // {name: 'apples', quantity: 2}
   // {name: 'bananas', quantity: 0}
	if (fruit.name === 'bananas') {
	return true;
	}
	return false;
});

console.log(bananas);
// {name: 'bananas', quantity: 0}

上面代码还可以简写为

const bananas = inventory.find(fruit => fruit.name === 'bananas');

.findIndex()找到数组中的索引,接受的参数与.find()一样
.some()与.every()返回布尔值
.some()只有当数组中某一个函数满足这个测试函数的时候,返回true
.every()只有当数组中所有函数都满足这个测试函数的时候,才会返回true。否则的话,当遇到第一个条件是false的函数就会立即返回,而不会执行下面的操作

const isEnough = inventory.some(fruit => fruit.quantity > 0)
console.log(isEnough);
// true

这段代码中,只执行了apples, 因为apples的quantity大于0,返回true,就不会往下面执行了

const isAllEnough = inventory.every(fruit => fruit.quantity > 0)
console.log(isAllEnough);
// false

这段代码中,执行到bananas的测试结果是false,就不会往下面执行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值