如何使``var num=12;```使用javascript等于3



我有一个变量var num = 12;我想在JavaScript中将num中的两个整数(1 and 2(相加为3。我正在对一个具有两位数的元素数组执行此操作。

有人能解决这个问题吗?我已经试过了,我需要帮助。

您可以将数字转换为字符串数组,然后使用map和reduce函数将其更改为数字并将其相加,如下所示:

let num = 12;
let sum = [...`${num}`].map(Number).reduce((a, b) => a + b);
or [...`${num}`].reduce((a, b) => +a + +b);

这有帮助吗?

num.toString().split('').reduce((a,b) => parseInt(a)+parseInt(b),0)
String(12).split("").reduce((sum, d)=> sum += parseInt(d),0);

适用于任何数字。

这里有一个解决方案,部分灵感来自克里斯蒂安·达维德·孔特。

这是一种替代算法,可以用数字进行求和,而无需转换为字符串(这也很好!(。

function sumOfDigits(number) {
if (parseInt(number) !== number || isNaN(number)) {
throw new Error('the given number is not integer');
}
if (number < 0) {
return -sumOfDigits(-number);
}
let sum = 0;
while (number > 0) {
let lastDigit = number % 10;
sum += lastDigit;
number = (number - lastDigit) / 10;
}
return sum;
}

它首先确保传递的数字确实是一个整数。它通过返回负校验和来处理输入负数的特殊情况。

在每次迭代中,最后一个数字被加到和中,然后从数字中减去该数字(该数字的最后一个位数为0(,并将该数字除以10以去除最后一个数位。此操作将一直进行到数字减为0为止。

那么算术呢?

const num = 125;
const sum = (num - 1) % 9 + 1;
console.log(sum)

我真的没有一个完整的答案,但我可以给你一个解决办法。

function customStrictEquality(value1, value2) {
if (value1 === 12 && value2 === 3) {
return true;
} else if (value2 === 12 && value1 === 3) {
return true;
} else if (value1 === value2) {
return true;
} else {
return false;
}
}

最新更新