every

every()方法可以判断数组的所有元素是否满足测试条件。

例如,给定一个包含若干字符串的数组,判断所有字符串是否满足指定的测试条件:

  1. let arr = ['Apple', 'pear', 'orange'];
  2. console.log(arr.every(function (s) {
  3. return s.length > 0;
  4. })); // true, 因为每个元素都满足s.length>0
  5. console.log(arr.every(function (s) {
  6. return s.toLowerCase() === s;
  7. })); // false, 因为不是每个元素都全部是小写

find

find()方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined

  1. let arr = ['Apple', 'pear', 'orange'];
  2. console.log(arr.find(function (s) {
  3. return s.toLowerCase() === s;
  4. })); // 'pear', 因为pear全部是小写
  5. console.log(arr.find(function (s) {
  6. return s.toUpperCase() === s;
  7. })); // undefined, 因为没有全部是大写的元素

findIndex

findIndex()find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1

  1. let arr = ['Apple', 'pear', 'orange'];
  2. console.log(arr.findIndex(function (s) {
  3. return s.toLowerCase() === s;
  4. })); // 1, 因为'pear'的索引是1
  5. console.log(arr.findIndex(function (s) {
  6. return s.toUpperCase() === s;
  7. })); // -1

forEach

forEach()map()类似,它也把每个元素依次作用于传入的函数,但不会返回新的数组。forEach()常用于遍历数组,因此,传入的函数不需要返回值:

  1. let arr = ['Apple', 'pear', 'orange'];
  2. arr.forEach(x=>console.log(x)); // 依次打印每个元素