当前位置: 首页 > 知识库问答 >
问题:

未定义的不是函数Foreach循环[重复]

王昆
2023-03-14

我想为数组中的每个项目运行一个函数。数组每次都不同,但为此我将只使用一个示例数组。它一直在说未定义的不是一个函数,我假设未定义的是未来的函数。解决这个问题的办法是什么?

const bar1beats = [0.5, 1, 2.5]
generate.addEventListener('click', generateclick)


function generateclick(){

// error line
  bar1beats.forEach(foreachfunction());

    function foreachfunction(item, index){

    let interval = intervals[Math.floor(Math.random() * intervals.length)]
    interval();
    if(interval == fifthfunction){
    findnotefifth()
    }
    if(interval == fourthfunction){
    findnotefourth()
    }

}

共有1个答案

强保臣
2023-03-14

你基本上是在给forEach未定义的而不是你的函数。正如您所说,什么将传递foreachfunction的返回值。

要修复它,请删除括号:


function generateclick(){

  // note I removed the parenthesis.
  bar1beats.forEach(foreachfunction);

    function foreachfunction(item, index){

    let interval = intervals[Math.floor(Math.random() * intervals.length)]
    interval();
    if(interval == fifthfunction){
    findnotefifth()
    }
    if(interval == fourthfunction){
    findnotefourth()
    }

}

 类似资料:
  • 在js中,当在forEach函数中遍历arrayitems时,我遇到了一个问题。我只是有一个ID数组,其中一些ID不到10个字符,我想在开头用“0”填充这些字符。示例:在这种情况下,我想用填充最后一项。当然,它也可以在各种其他方式,但我只是不明白为什么它不起作用。 下面是我的代码:

  • 我是codeigniter的初学者,我正在制作一个用于学习的基本积垢。我在索引中遇到了一个错误。php 遇到PHP错误严重性:注意:消息:未定义变量:posts 文件名:posts/index。php 行号:2 回溯: 文件:/opt/lampp/htdocs/codeigniter/application/views/posts/index。php 行:2 函数:\u错误\u处理程序 文件:/o

  • 我尝试将一个循环转换为一个循环在flutter中等待循环。我想要循环的元素是Firebase实时数据库中的快照。 我的函数如下所示: 我尝试了不同的方法,但是我没有让函数工作。 第一次尝试: 错误: 未处理的异常:键入'_InternalLinkedHashMap 第二次尝试: 错误: 未处理的异常:键入'_InternalLinkedHashMap 在所有的尝试中,我都得到了相同的错误。但是上述

  • 我已经运行了<code>智能安装php5 mysql</code>(并重新启动了mysql/Apache 2),但我仍然收到这个错误: 致命错误:第21行调用/home/validate.php中未定义的函数mysql_connect() 表示 /etc/php5/apache2/conf.d/pdo_mysql.ini文件已被解析。

  • foreach循环遍历列表值并将控制变量(var)依次设置为列表的每个元素 - 语法 (Syntax) Perl编程语言中foreach循环的语法是 - foreach var (list) { ... } 流程图 (Flow Diagram) 例子 (Example) #!/usr/local/bin/perl @list = (2, 20, 30, 40, 50); # foreach lo

  • 我在StackOverflow上来回寻找这个特定的答案,但是我找不到任何有效的方法。“测试”应该在循环内部执行异步函数后定义。如果我尝试控制台日志"测试"它返回未定义。如何等待循环执行在堆栈中继续? 我还尝试定义一个带有循环的异步函数,然后调用IIFE,等待函数和控制台记录变量。它返回相同的未定义。