首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅打印偶数

仅打印偶数
EN

Stack Overflow用户
提问于 2017-08-29 07:45:31
回答 2查看 5.4K关注 0票数 1

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

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

我在这方面的所有笔记:

代码语言:javascript
复制
//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);
EN

回答 2

Stack Overflow用户

发布于 2017-08-29 07:52:29

代码语言:javascript
复制
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]);
}
}

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

票数 4
EN

Stack Overflow用户

发布于 2017-08-29 08:04:09

你有没有不明白问题的地方?你有什么问题吗?

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45928757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档