问题: 创建一个程序,提示输入以空格分隔的数字列表。让程序打印出一个只包含偶数的新列表。
将输入转换为(数组)。许多语言都可以轻松地将字符串转换为具有内置函数的数组,该函数根据指定的分隔符拆分字符串。 编写自己的算法 - 不要依赖语言的内置过滤器或类似的枚举功能。 使用名为“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);
答案 0 :(得分:4)
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]);
}
}
这是一个查找并将偶数推入另一个数组的数组示例。您可以轻松地更改它,并且它不会将其推送到另一个阵列,而是打印偶数。它将帮助您解决问题
答案 1 :(得分:0)
你有不明白问题的一部分吗?你有什么问题?
为了提示用户输入,您可以使用window.prompt('Enter a list of numbers separated by spaces');
这种接收用户输入的方式将返回一个字符串。由于您不允许使用内置方法将其转换为列表,因此您可以采用以下方法:
currentInteger
,用于保存您在字符串中查看的当前数字的数字(请记住:数字可能长于一个数字,因此在迭代字符串时,您当前的数字可能不会由你正在看的单个角色)currentInteger
已经完成,如果它是一个偶数,则将它附加到一个新的列表。由于您的currentInteger变量是一个字符串,因此您需要使用parseInt()将其设为数字并检查它是否为偶数。