forEach、map、some、every

forEach、map、some、every

forEach

  • break,return是无法跳出循环
  • 没有任何的返回 undefined

终止forEach

  • 在forEach中使用break并不能终止循环
  • return false 只是下面的代码不能执行而已
  • 终止循环的操作采用抛出异常
try {
  let array = [1,2,3,4];
  // 执行到第2次,结束循环
  array.forEach(function(item, index) {
    if (item === 2) {
      throw new Error("中止循环");
    }
    console.log(item); // 1
  });
} catch (e) {
  if (e.message != "EndIterative") throw e;
}

map

  • 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
  • 方法按照原始数组元素顺序依次处理元素
  • 不会对空数组进行检测
  • 不会改变原始数组

some

  • 方法用于检测数组中的元素是否满足指定条件(函数提供)
  • 方法会依次执行数组的每个元素
    • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测
    • 如果没有满足条件的元素,则返回false
  • 不会对空数组进行检测
  • 不会改变原始数组

every

  • 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)
  • 方法使用指定函数检测数组中的所有元素
    • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
    • 如果所有元素都满足条件,则返回 true
    • 不会对空数组进行检测
    • 不会改变原始数组

 上一篇
methods methods
方法的不兼容Date  解决IE、firefox浏览器下JS的new Date()的值为Invalid Date、NaN-NaN的问题 所有浏览器支持的格式 new Date(2011, 01, 07); // yyyy, mm-1,
2018-04-06
下一篇 
reduce reduce
reduce基本用法/** * @param {callback} 执行数组中每个值的函数,包含四个参数 * 1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue)) * 2、cu
2018-03-31
  目录