Javascript 检查函数是否为数组中的任何项返回true

Javascript 检查函数是否为数组中的任何项返回true,javascript,Javascript,我想检查JavaScript中函数中数组中的任何项是否返回true?顺便说一句,我只是一棵小树 没有骰子不幸的是,也许我不够具体。。。如果fun标识数组已满,则any返回true;如果数组为空,则any返回false function any(arr, fun){ for (var i=0; i<arr.length; i++) { if (loop(fun)=== 'false') //<--- this is what I'm not su

我想检查JavaScript中函数中数组中的任何项是否返回true?顺便说一句,我只是一棵小树

没有骰子不幸的是,也许我不够具体。。。如果fun标识数组已满,则any返回true;如果数组为空,则any返回false

    function any(arr, fun){ 
    for (var i=0; i<arr.length; i++) {  
    if (loop(fun)=== 'false')      //<--- this is what I'm not sure about
    return false;
    if (arr.length>0);
    return true;
    } 
}
函数任意(arr,fun){

对于(var i=0;i,可以使用
Array.prototype.filter()
根据返回true或false的函数减少元素

var func=函数(项){
退货项目==='您好';
}
document.write(!!['hello','world','foo','bar'].filter(func).length+'
');
document.write(!!['world','foo','bar'].filter(func).length);
您可以使用
Array.prototype.filter()
根据返回true或false的函数减少元素

var func=函数(项){
退货项目==='您好';
}
document.write(!!['hello','world','foo','bar'].filter(func).length+'
');
document.write(!!['world','foo','bar'].filter(func).length);
你有一个JS数组函数,它叫做some。你应该这样使用它:

arr.some(fun);

如果数组中的任何元素的fun(x)等于true,则返回true。

你有一个JS数组函数,它被称为some。你应该这样使用它:

arr.some(fun);

如果数组中的任何元素的fun(x)等于true,则返回true。

您需要调用函数并检查其结果(不确定循环应该做什么,但它似乎没有任何帮助):

任何功能(arr、fun){
对于(变量i=0;i}
您需要调用函数并检查其结果(不确定循环应该做什么,但它似乎没有任何帮助):

任何功能(arr、fun){
对于(变量i=0;i
我想到了这个:

var-arr=[
错误的
错误的
错误的
符合事实的
假];
功能乐趣(Arrement){
退还欠款;
}
函数任意(数组){
var bool=假;
对于(i=0;i
基本上

  • 具有布尔值的占位符,用于跟踪是否满足条件

  • 遍历传递给函数的数组

  • 如果函数返回true,则占位符bool将更改为true
  • 在函数末尾,返回bool上函数的结果
    • 我想到了这个:

      var-arr=[
      错误的
      错误的
      错误的
      符合事实的
      假];
      功能乐趣(Arrement){
      退还欠款;
      }
      函数任意(数组){
      var bool=假;
      对于(i=0;i
      基本上

      • 具有布尔值的占位符,用于跟踪是否满足条件

      • 遍历传递给函数的数组

      • 如果函数返回true,则占位符bool将更改为true
      • 在函数末尾,返回bool上函数的结果


      试试这个:
      if(fun(arr[i])=='false')
      不确定
      fun
      返回的是字符串还是布尔值!我不确定该函数的实际外观,但可能会有所帮助。您想知道它是否为任何元素或每个元素返回true吗?您的断开的代码似乎在检查每个元素,但文本显示为any。根据您的新描述,似乎您只想如果
      arr
      为空,则返回一个布尔值
      false
      ,如果其中有值,则返回
      true
      。在这种情况下,您只需要
      函数any(arr){return arr.length>0;}
      。不需要额外的未定义
      fun
      函数。我想知道它是否为任何元素返回true。请尝试以下操作:
      if(fun(arr[I])=='假')
      不确定
      fun
      返回的是字符串还是布尔值!我不确定该函数的实际外观,但可能会有所帮助。您想知道它是否为任何元素或每个元素返回true吗?您的断开的代码似乎在检查每个元素,但文本显示为any。根据您的新描述,似乎您只想如果
      arr
      为空,则返回一个布尔值
      false
      ,如果其中有值,则返回
      true
      。在这种情况下,您只需要
      函数any(arr){return arr.length>0;}
      。不需要额外的未定义的
      fun
      函数。我想知道它是否对任何元素都返回true。你的意思是
      每个
      ,而不是
      一些
      。应该是“对任何元素”,而不是“对每个元素”。@Xufox他为这个问题给出了正确的函数,但描述它是错误的。对不起,这是描述
      中的一个错误(有趣);
      -听起来像是你在海盗日谈话中说的话:pYou的意思是
      每个
      ,而不是
      一些
      。应该是“针对任何元素”,而不是“针对每个元素”。@Xufox他给出了正确的问题函数,但描述错了。抱歉,这是描述中的一个错误
      arr.some(有趣)
      -听起来像是你在海盗日谈话中说的话:为什么不仅仅是
      每一个
      ?为什么不仅仅是
      过滤
      ?只是为了给未来的答案搜索者澄清一下。
      每一个
      返回真或假,
      过滤
      将返回一个带有过滤值的新数组。既不改变原始数组。为什么不仅仅是
       每一个
      ?为什么不只过滤