【问题标题】:print out only even numbers只打印偶数
【发布时间】:2017-08-28 23:45:31
【问题描述】:

问题: 创建一个提示输入以空格分隔的数字列表的程序。让程序打印出一个只包含偶数的新列表。

将输入转换为(数组)。许多语言可以使用内置函数轻松地将字符串转换为数组,该函数根据指定的分隔符拆分字符串。 编写自己的算法——不要依赖语言的内置过滤器或类似的枚举功能。 使用一个名为“filterEvenNumbers”的函数来封装这个逻辑。该函数接受旧数组并返回新数组。

我对此的所有笔记:

//global array
    var arr = [];

    var arr = prompt("Enter your numbers");
    // var eachNumber = arr.split(",");
    var res = arr.split("");        
    console.log(arr);
    console.log(res);


    if(res = )

    // var str = "How are you doing today?";

    //push elements into array
    // arr.push(prompt("Enter in a bunch of numbers", "")); //push input to array
    // console.log(arr);

    // https://stackoverflow.com/questions/28252888/javascript-how-to-save-prompt-input-into-array
    // var arr = prompt("Enter your numbers").split(",");
    // console.log(arr);
    // var arr = [];
    // for(var i = 0; i < 10; i++)
    // arr.push(prompt("Enter a number");




    // Convert number into array in Javascript
    // https://stackoverflow.com/questions/20730360/convert-number-into-array-in-javascript
    // var numbers = "1, 2, 3";
    // var eachNumber = numbers.split(",");
    // /* now parse them or whatso ever */
    // console.log(eachNumber);   




// JavaScript Array filter
// http://www.diveintojavascript.com/core-javascript-reference/the-array-object/array-filter
// The JavaScript Array filter method iterates over each value of an array passing it to a callback function. 
// If the callback function returns true, the current value is then pushed into the resulting array.
// The callback function is invoked with three arguments: the value of the element, the index of...
// the element and the Array object being traversed.        

// Bellow is an example of filtering odd and even numbers out of an array:
    // var arr = [1, 2, 3, 4, 5];
    // var odd = arr.filter(function(val) {
    //     return 0 != val % 2;
    // });
    // // odd = [1, 3, 5]
    // var even = arr.filter(function(val) {
    //     return 0 == val % 2;
    // });
    // even = [2, 4]
    // console.log(even);

// The Array filter method can also be used to remove empty, null or undefined elements from an array:

    // var arr = [0, null, 42, undefined, "", true, false, NaN, "", "foo bar"];
    // var filteredArr = arr.filter(function(val, num) {
    //     return !(val === "" || typeof val == "undefined" || val === null );
    // });
    // // // filteredArr = [0, 42, true, false, NaN, "foo bar"]

    // console.log(filteredArr);

【问题讨论】:

  • 好的...那么问题出在哪里?你试过什么?
  • 我们不是来做你的功课的。
  • 这看起来非常像家庭作业。为什么不自己尝试实现所需的逻辑,如果遇到困难,请寻求帮助。你永远不知道,也许你甚至会学到一些东西。
  • 您应该就自己编写的代码提出问题,而不是在其他人为您编写代码的地方发布编码问题。
  • 这不是家庭作业,它来自我正在阅读的一本书,名为 57 个程序员示例。

标签: javascript arrays loops


【解决方案1】:
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
b = [];

for (var i = 0; i < a.length; ++i) { 
if ((a[i] % 2) === 0) {
    b.push(a[i]);
}
}

这是一个查找偶数并将其推入另一个数组的数组示例。您可以轻松更改它,它不会将其推送到另一个数组,而是会打印偶数。它会帮助你解决你的问题

【讨论】:

    【解决方案2】:

    您是否有部分问题不明白?你有什么问题?

    为了提示用户输入,您可以使用window.prompt('Enter a list of numbers separated by spaces'); 这种接收用户输入的方式将返回一个字符串。由于您不允许使用内置方法将其转换为列表,因此您可以采取的一种方法是:

    1. 将用户输入存储到变量中
    2. 遍历字符串中的每个字符。定义了一个变量currentInteger 来保存您在字符串中查看的当前数字的数字(请记住:数字可能比单个数字长,因此在遍历字符串时,您当前的数字可能不会由单个数字表示您正在查看的角色)
    3. 一旦到达一个空格,您就知道currentInteger 已经完成,如果它是偶数,则将其附加到新列表中。

    由于您的 currentInteger 变量是一个字符串,您需要使用 parseInt() 将其设为数字​​并检查它是否为偶数。

    【讨论】:

      猜你喜欢
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多