这些知识点不常用到,写这个的目的是为了方便以后的复习,之后有什么项目需要用到该知识点的,便于在这里进行查询。
.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,就不会往下面执行了