【问题标题】:Array of integers contains undefined value [duplicate]整数数组包含未定义的值
【发布时间】:2021-07-30 07:56:00
【问题描述】:

我正在尝试根据函数的 number 参数将乘法表作为字符串返回,但第一个元素始终返回未定义。

我的代码

function multiTable(number) {
  let arr = new Array(1, 2, 3);
  let multiplication;
  arr.forEach((element) => {
    if (element > 0) {
      multiplication += `${element} * ${number} = ${element * number}\n`;
    }
  });
  return multiplication;
}

let table = multiTable(5);
console.log(table);
//Returns undefined1 * 5 = 5 2 * 5 = 10 .....etc

我是 JavaScript 新手,有什么我遗漏的吗?

【问题讨论】:

  • 当一个简单的for 循环可以做时,声明let arr = new Array(1, 2, 3); 没有多大意义
  • 函数可简写为const multiTable = (number) => Array.from({ length: 3 }, (_, index) => `${index + 1} * ${number} = ${index * number + number}`).join("\n");
  • @SebastianSimon 这是正确的,但我不确定它对于写“我是 JavaScript 新手”的人是否特别容易理解或有用;)

标签: javascript arrays integer


【解决方案1】:

由于您初始化multiplication 变量的方式,初始值为undefined

您需要将 multiplication 初始化为空字符串。

你在做什么。

let multiplication; // undefined
multiplication += "test string" // 'undefinedtest string'

你应该做什么

let multiplication = ""; // ''
multiplication += "test string" // 'test string'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2021-05-01
    • 2017-05-03
    • 1970-01-01
    相关资源
    最近更新 更多