- 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)