【发布时间】:2018-09-27 13:54:32
【问题描述】:
我正在尝试编写一个代码(函数),它接受两个参数 a 和 b,如果 a 大于 b,则返回 a 和 b 之间的所有偶数,否则它应该返回 a 和 b 之间的奇数。
这是我的代码。
function number_ranges (a, b) {
let numbers = [];
if (a > b){
for (let i = b; i < a; i++){
if (i > b){
numbers.push(i);
}
}
}else{
for (let i = a; i < b; i++){
if (i > a){
numbers.push(i);
}
}
}
const result = numbers.filter(function(num){
return a > b ? num % 2 === 0: num % 2 === 1;
});
return result;
}
我希望看到不同的方法,因为我似乎无法通过所有测试用例
【问题讨论】:
-
顺序重要吗?
-
你为什么要把所有的数字都推入而不是过滤?没必要……
-
你有一个不工作的测试用例的例子吗?
-
if(i > a)那么为什么不直接从i=a+1开始,而不必进行检查呢? -
没有顺序无关紧要,但自然会排序,因为我会从最低的开始迭代.....如果我错了,请纠正我,虽然我是新手
标签: javascript arrays