【问题标题】:How to to list array values that are equal or greater to user inputed value如何列出等于或大于用户输入值的数组值
【发布时间】:2021-03-30 05:17:01
【问题描述】:

我希望编写 javascript 代码来创建一个整数数组,提示用户输入一个最小数字 (minNumber),然后在数组中显示等于或大于 minNumber 输入的值。我几乎可以在下面的代码中完成所有这些操作,但它显示了数组的所有值,而不是像我最初打算的那样仅显示等于或高于 minNumber 的值。我想保留函数等的基本格式,但你能告诉我可以添加什么到我的代码中以达到预期的结果吗?非常感谢

function arrayFunction(arrayOne, minNumber) {
  for (var number = 0; number <= arrayOne.length; number++) {
    if (arrayOne[number] >= minNumber) {
      document.write("The array numbers starting from minNumber are " + arrayOne[number] + " ");
      return arrayOne.slice(number, arrayOne.length);
    }
  }
  return;
}


const NEW_LINE = "<br/>";       // This is like one ENTER key-press
const NEW_PARAGRAPH = "<p/>";   // This is like two ENTER key-presses

let arrayOne = [10, 20, 30, 40, 50];
var minNumber = parseInt(prompt("Enter in the min. number"));
let array = arrayFunction(arrayOne, minNumber);

document.write(array);

【问题讨论】:

  • 您已经有了一个良好的开端。您是否考虑过使用Array Filter 方法来过滤您的数组?你可能会因为使用document.write() 而在这里得到一堆松懈,因为它通常是不受欢迎的。但是你在这里使用就好了。
  • @RandyCasburn 非常感谢!我将检查数组过滤方法。你会建议我用什么替换 document.write()?
  • document.write()相比,总是首选将要打印的值添加到DOM中的现有元素。
  • 如何使用filter请看我的回答。
  • 我还更新了我的答案,以演示将内容放入 HTML 的一种方法。

标签: javascript arrays function loops


【解决方案1】:
arrayOne.filter((val) => val >= minNumber);

只需将这一行与return 一起放入函数中即可。

【讨论】:

    【解决方案2】:

    您基本上已经编写了Array Filter 方法。

    问题在于返回语句。您需要在循环完成后返回数组,而不是在其中。

    如果您想跳过所有代码,您可以简单地使用filter()

    let arrayOne = [10, 20, 30, 40, 50];
    var minNumber = parseInt(prompt("Enter in the min. number"));
    let array = arrayOne.filter(item => item >= minNumber);
    console.log(array);
    
    document.getElementById('output').textContent = array;
    &lt;div id="output"&gt;&lt;/div&gt;

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 2016-09-30
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 2021-12-05
      • 2014-12-20
      • 2021-07-13
      • 1970-01-01
      相关资源
      最近更新 更多