- Objective:
- Breadcrumb:
# 概念阐释
## 语义
`.every()`将遍历[[JavaScript 数组|数组]]中的每一个元素,并对元素进行测试,结果返回一个[[JavaScript 数据类型|布尔值]]。
## 语法
```js
const arr = [0,1,2,3]
const callbackFn = (element)=>{element<4};
//对每个数组元素进行比较,0<4,1<4,2<4,3<4
arr.every(callbackFn);
// expected output: true || False
```
# 实例
# 相关内容
# 问题
用.every()来检查客户购买的商品是否有库存?
```js
const store = {
sunglasses: {
inventory: 817,
cost: 9.99
},
pants: {
inventory: 236,
cost: 7.99
},
bags: {
inventory: 17,
cost: 12.99
}
};
const order = {
items: [['sunglasses', 1], ['bags', 2]],
giftcardBalance: 79.82
};
```
# 问题答案
```js
const itemArr = order.items;
//设遍历元素为item,['sunglasses', 1]为一个item,sunglasses=item[0],1=item[1]
let inStock = itemArr.every(item => store[item[0]].inventory>=item[1]);
//store[]是访问对象的属性,不是访问数组元素。这个函数会访问sunglasses和bags的inventory,再与order.items中的1,2做比较
```
# 参考资料
- [Array.prototype.every()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/every)