am尝试编写一个给定两个数字X和Y的代码,编写一个函数: 1返回X和Y之间的偶数,如果X大于Y,否则返回x和y之间的奇数,已经使用了我知道的每个组合来测试它们是否有效,但是仍然给我期望[Array(9)]完全相等[Array(11)]错误
const number_game = (x, y) => {
let numArray = [];
if (x > y) {
for (i = y + 1; i < x; i++) {
if (i % 2 === 0) {
numArray.push(i);
}
}
return numArray;
} else if (x > 1) {
for (i = x; i < y; i++) {
if (i % 2 !== 0) {
numArray.push(i);
}
}
return numArray;
} else if (x < y || x === y) {
for (i = x + 2; i < y; i++) {
if (i % 2 !== 0) {
numArray.push(i);
}
}
return numArray;
}
};
console.log(number_game(12, 0));
console.log(number_game(0, 12));
答案 0 :(得分:0)
在x > 1
情况下,您是从i
开始的,但规范指出,您只应返回{em> X
和{ {1}},不包括它们。
在Y
情况下,您是从x < y || x == y
开始的。如果x+2
是一个奇数,则不包括在内。我认为,如果您认为x+1
应该跳过x = 0, y = 12
,那么您肯定会误解问题陈述。
没有理由以不同的方式对待这些案件。而1
应该只返回一个空数组的情况是特殊情况。
x == y