📜  如何打破 Underscore.js 中的 _.each()函数?

📅  最后修改于: 2022-05-13 01:56:34.150000             🧑  作者: Mango

如何打破 Underscore.js 中的 _.each()函数?

不能破坏 _.each函数。原因是 _.each函数的工作方式与 forEach函数类似,并且模仿了它的本机行为。它不允许我们中断循环或从中逃脱,除非抛出异常。但是,可以使用不同的方法,例如:

  • 抛出异常
  • _.find()函数
  • _.some()函数

抛出异常:可以在获得所需值时从每个抛出异常。

句法:

try {
     _(arrayName).each(function(elementName){
        // your code with condition where 
        // exception is to be thrown
     })
}
catch(exception){
     // dont do anything here
}

例子:


Output:

当检测到值 30 时抛出异常。否则计数 (cnt) 增加 1

_.find()函数: _.find()函数可用于在找到所需值时中断循环。结果可以存储在外部变量中。

_.find(arayName, function(elementName){
     if(elementName == value){
         return false;
     }
     // Write your own code
}

例子:


Output:0 1

这里 _.find()函数在达到值 30 时返回 false。否则计数 (cnt) 增加 1

注意:也可以在 catch 块之后包含 finally 块。

_.some()函数: _.some()函数类似于 _.find()函数,一旦检测到所需的值,就会停止遍历列表。结果可以存储在外部变量中。

句法:

_.some(arayName, function(elementName){
    if(elementName==value){
        return false;
    }
    
    // Write your own code
}

例子:


Output:0 1

这里 _.some()函数在检测到值 30 时返回 false。否则计数 (cnt) 增加 1。