JavaScript:模拟&x27;中断';内部';foreach&x27;环

JavaScript:模拟&x27;中断';内部';foreach&x27;环,javascript,foreach,iteration,break,Javascript,Foreach,Iteration,Break,在迭代用户/引擎定义的函数时,实现for循环“break”特性模拟的最佳方法是什么 foreach([0,1,2,3,4],function(n){ console.log(n); if (n==2) break;}); 我曾经考虑过用一种方法来实现foreach,当函数返回'false'时,这种方法会中断,但我想听听大家对通常如何实现的想法。返回ingfalse是最常用的方法。jQuery的迭代器函数就是这样做的: 我们可以通过使 回调函数返回值false。返

在迭代用户/引擎定义的函数时,实现for循环“break”特性模拟的最佳方法是什么

foreach([0,1,2,3,4],function(n){
    console.log(n);
    if (n==2)
        break;});

我曾经考虑过用一种方法来实现foreach,当函数返回'false'时,这种方法会中断,但我想听听大家对通常如何实现的想法。

返回
ing
false
是最常用的方法。jQuery的迭代器函数就是这样做的:

我们可以通过使 回调函数返回值false。返回非false与 for循环中的continue语句;它将立即跳到下一个 迭代

及其非常简化的实现:

each: function( object, callback ) {
  var i = 0, length = object.length,
  for ( var value = object[0]; 
        i < length && callback.call( value, i, value ) !== false; // break if false is returned by the callback 
        value = object[++i] ) {}
  return object;
}
each:函数(对象、回调){
变量i=0,长度=object.length,
对于(var值=对象[0];
i
这就回答了这个问题。谢谢