JavaScript:突破回调函数

标签 javascript callback

因此,我在免费代码训练营中解决了“Finders Keepers”这一挑战,但我对我的解决方案并不满意。

问题[链接here]

要求编写一个函数,该函数接受两个参数(一个数组和一个函数),并返回数组中的第一个元素,该元素在传递给第二个参数的函数时返回 true。

我的解决方案:

function find(arr, func) {
  return arr.filter(function(val) {
      return func(val);
  })[0];
}

find([1, 2, 3, 4], function(num){ return num % 2 === 0; });

当然可以,但它会迭代所有数组元素,只返回第一个。如果数组只有四个元素长那就没问题,但是如果数组更长怎么办?

是否有某种方法可以让回调函数在返回 x 值后中断?

最佳答案

问题基本上描述了Array.prototype.find()函数,所以你的代码可以是:

function find(arr, callback) {
  return arr.find(callback)
}

关于JavaScript:突破回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803089/

相关文章:

javascript - 使用 NgTable 过滤选择

javascript - 重新加载后如何保留页面中的数据?

Qt 复选框 stateChanged 事件处理程序

java - 减慢相机对象的 setPreviewCallback 方法

c - c中的定期回调

c# - 如何从 C# 调用和处理异步 F# 工作流

objective-c - 将 Objective C 回调转换回 Swift

javascript - slideToggle 添加显示 : block 的问题

javascript - 具有 2 个数据值的组合框显示格式

JavaScript:在放置之前检查 <div> 对象的宽度