gpt4 book ai didi

javascript - 在 JavaScript 中返回动态范围之间的偶数和奇数

转载 作者:行者123 更新时间:2023-12-01 01:39:37 25 4
gpt4 key购买 nike

我正在尝试编写一个代码(函数),它接受两个参数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;
}

我希望看到不同的方法,因为我似乎无法通过所有测试用例

最佳答案

您可以采用单个循环并检查该值是否为偶数或或与顺序检查相结合。

function getEvenOdd(a, b) {
var inc = +(a < b) || -1,
i,
result = [];
for (i = a; i !== b + inc; i += inc) {
if (+(inc === 1) !== i % 2) {
result.push(i);
}
}
return result;
}

// even
console.log(getEvenOdd(3, 10).join(' ')); // [4, 6, 8, 10]
console.log(getEvenOdd(4, 10).join(' ')); // [4, 6, 8, 10]
console.log(getEvenOdd(3, 9).join(' ')); // [4, 6, 8]
console.log(getEvenOdd(4, 9).join(' ')); // [4, 6, 8]

// odd
console.log(getEvenOdd(10, 3).join(' ')); // [9, 7, 5, 3]
console.log(getEvenOdd(10, 4).join(' ')); // [9, 7, 5]
console.log(getEvenOdd(9, 3).join(' ')); // [9, 7, 5, 3]
console.log(getEvenOdd(9, 4).join(' ')); // [9, 7, 5]

关于javascript - 在 JavaScript 中返回动态范围之间的偶数和奇数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52538701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com