[英]Counting odd and even numbers function issue
我想提供将返回带有奇数和偶数的对象的函数。 示例:parseNum(12345)//对象{奇数:3,偶数:2}。 我有我的代码,但是我不明白为什么它不起作用。 问题出在哪儿?
function parseNum(num) {
var obj = {
odd: 0,
even: 0
};
var arr = Array.from(num);
arr.forEach(function(value) {
if (value % 2 === 0) {
obj.odd += 1;
} else {
obj.even += 1;
}
});
return obj;
}
您的答案不起作用,因为数字不可迭代,因此应首先将其转换为字符串。
function parseNum(num) {
var obj = {
odd: 0,
even: 0
};
if (typeof num === 'number') {
num = num.toString();
}
var arr = Array.from(num);
arr.forEach(function(value) {
if (value % 2 === 0) {
obj.odd += 1;
} else {
obj.even += 1;
}
});
return obj;
}
我觉得比较容易
function parseNum(num) {
const odd = Math.floor(num / 2);
const even = num - odd;
return {
odd,
even
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.