我想提供将返回带有奇数和偶数的对象的函数。示例: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;
}`
答案 0 :(得分:1)
您的答案不起作用,因为数字不可迭代,您应该首先将其转换为字符串。
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;
}
答案 1 :(得分:0)
我认为这更容易
function parseNum(num) {
const odd = Math.floor(num / 2);
const even = num - odd;
return {
odd,
even
}
}