在JavaScript中根据isOdd定义isEven
我正在做一个编码我的练习: 还记得练习3.4中的isOdd和isEven功能吗 我们希望你在这里再次编码!但这一次,目标是使用!象征 定义isOdd,然后根据isOdd定义isEven 我尝试了一些我认为有效的方法, 比如在JavaScript中根据isOdd定义isEven,javascript,boolean,Javascript,Boolean,我正在做一个编码我的练习: 还记得练习3.4中的isOdd和isEven功能吗 我们希望你在这里再次编码!但这一次,目标是使用!象征 定义isOdd,然后根据isOdd定义isEven 我尝试了一些我认为有效的方法, 比如console.log(!isOdd(1)) 和 (n!%2==), 他们都不对 以下是我的代码: var isOdd = function (n) { if (n % 2 ===0) { return false; } else { return true; } };
console.log(!isOdd(1))代码>
和
(n!%2==)
,
他们都不对
以下是我的代码:
var isOdd = function (n)
{
if (n % 2 ===0)
{
return false;
} else {
return true;
}
};
var isEven =function (n)
{
if (n % 2 === 0)
{
return true;
} else {
return false;
}
};
console.log(isOdd(1));
console.log(isOdd(2));
console.log(isOdd(999));
这很简单:
var isEven = function (n)
{
return !isOdd(n);
}
根据定义,这些答案是错误的
数字是一个整数和浮点数
所有提交的答案都适用于整数
以下是适当的定制回应
function isEven(n) { // covers all
return (n).toString(2).endsWith(‘0’) // binary format
}
function isEven_integer(n) {
return (n & 1) === 0;
}
function isEven_float(n) {
// floats only, but works on integers.// faster for floats
return ((n).toString()[(n).toString().length-1] % 2) === 0; // base 10
}
当然,你没有用定义isEven()
,而是用定义isOdd()
代码>接线员。我不知道为什么我没有想到这一点。答案总是那么简单。好的,非常感谢。我一定要把这个写在纸上,一遍又一遍。我是在codecademy中做的,它显示正确,但输出中有些不正确。。请检查..此代码没有根据isOdd定义isEven,因此不是对原始问题的回答。很可能是由于验证代码中存在缺陷。请参考上面@Ned Batchelder的答案,以获得正确的实现。提供了此提示,这就是我刚才执行此操作的原因---------------------------------要定义isOdd函数,您需要使用:a)模%符号。b) 函数体中的If/else语句我指的是赋值的“define isEven in term of isOdd”部分,而不是isOdd本身的实现(顺便说一句,这在您的代码中非常好)。
var isOdd = function(n){
if (n % 2 !== 0) {
return true;
} else {
return false;}
};
var isEven = function(n){
return !isOdd(n) ;
};
console.log(isOdd(11));
var isOdd = function(n)
{
if(n%2 !== 0)
{ return ("odd");}
};
var isEven = function (n)
{
return !isOdd(n);
};
console.log(isEven(8));
function isEven(n) { // covers all
return (n).toString(2).endsWith(‘0’) // binary format
}
function isEven_integer(n) {
return (n & 1) === 0;
}
function isEven_float(n) {
// floats only, but works on integers.// faster for floats
return ((n).toString()[(n).toString().length-1] % 2) === 0; // base 10
}