【问题标题】:ReferenceError: variable is not defined.. againReferenceError:变量未定义..再次
【发布时间】:2019-12-27 01:06:27
【问题描述】:

我是新来的,所以请善待,但我完全愿意接受建设性的批评。

我需要帮助确保此功能正常运行。当我尝试 console.log(var) 时,我不断收到 var 未定义。

这个函数应该接受一个侏儒名字的数组。 然后它应该返回一个带有编号的小矮人的字符串。该字符串应如下所示:“1. Doc 2. Dopey 3. Bashful 4. Grumpy”

我四处寻找,但似乎找不到任何答案。

function dwarfRollCall(dwarves) {
  var names = [ "Dopey", "Grumpy", "Bashful"]
  var dwarfNames = "";
    for(var i = 0; i < names.length; i++) {
        if(i === names.length+1) {
            dwarfNames += (i+1 + ". " + names [i]);
        }else {
            dwarfNames += (i+1 + ". " + names [i] + " ");
        }
    }
    return dwarfNames;
}

【问题讨论】:

  • 您包含的代码不应产生该错误....
  • 您似乎遗漏了一些代码。你是怎么调用这个函数的?console.log(var) 用的是什么?
  • 抱歉,console.log(var) 就是一个例子。我试过 console.log(names) 和 console.log(dwarfNames) 并收到相同的错误消息。
  • 你在函数体内使用了console.log吗?
  • @john 请发布您正在运行的整个代码,您可以edit您的问题。是的,这些变量是函数的本地变量,你不能从外部记录它们。

标签: javascript for-loop if-statement return


【解决方案1】:

你可以试试这样的:

const inputArr = ["Doc", "Dopey", "Bashful", "Grumpy"];

function dwarfRollCall(arr) {
    let str = '';
    arr.forEach((elem, i) => {
        str = `${str} ${i+1}. ${elem}`;
    });
    return str.trim();
}

console.log(dwarfRollCall(inputArr)); //1. Doc  2. Dopey  3. Bashful  4. Grumpy

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 2021-02-08
    相关资源
    最近更新 更多