• 对于数组,除了map()、reduce、filter()、sort()这些方法可以传入一个函数外,Array对象还提供了很多非常实用的高阶函数。

    every

  • every()方法可以判断数组的所有元素是否满足测试条件。
    ```javascript var arr = [‘Apple’, ‘pear’, ‘orange’]; console.log(arr.every(function (s) { return s.length > 0; })); // true, 因为每个元素都满足s.length>0

console.log(arr.every(function (s) { return s.toLowerCase() === s; })); // false, 因为不是每个元素都全部是小写

  1. <a name="Ve3Ri"></a>
  2. ### find
  3. - find()方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined:
  4. ```javascript
  5. var arr = ['Apple', 'pear', 'orange'];
  6. console.log(arr.find(function (s) {
  7. return s.toLowerCase() === s;
  8. })); // 'pear', 因为pear全部是小写
  9. console.log(arr.find(function (s) {
  10. return s.toUpperCase() === s;
  11. })); // undefined, 因为没有全部是大写的元素

findIndex

  • findIndex()和find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1:
    ```javascript var arr = [‘Apple’, ‘pear’, ‘orange’]; console.log(arr.findIndex(function (s) { return s.toLowerCase() === s; })); // 1, 因为’pear’的索引是1

console.log(arr.findIndex(function (s) { return s.toUpperCase() === s; })); // -1

  1. <a name="pD0zv"></a>
  2. ### forEach
  3. - forEach()和map()类似,它也把每个元素依次作用于传入的函数,但不会返回新的数组。
  4. - forEach()常用于遍历数组,因此,传入的函数不需要返回值:
  5. ```javascript
  6. var arr = ['Apple', 'pear', 'orange'];
  7. arr.forEach(console.log); // 依次打印每个元素

图片.png