gpt4 book ai didi

javascript - 在 JavaScript 中将数字中的各个数字相互相乘

转载 作者:行者123 更新时间:2023-11-28 11:11:31 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,将数字中的数字相乘。因此,583 将是 5*8*3 = 120

它没有按预期工作,它只是返回输入的数字

如何修复它?

代码如下:

function persistence(num) {
//code me
numString = num.toString();
numArray = numString.split().map(function(t) {
return parseInt(t)
});


function reducer(theNumArray) {
let sum = 1;
for (var i = 0; i < theNumArray.length; i++) {
sum = sum * theNumArray[i];

}
return sum;
}
newNum = reducer(numArray);

console.log(newNum);
};

persistence(485);

最佳答案

您可以用空字符串拆分字符串,以获得单位数字。然后,如果需要,将所有字符串隐藏为数字。

function reducer(theNumArray) {
var i, sum = 1;
for (i = 0; i < theNumArray.length; i++) {
sum *= theNumArray[i];
}
return sum;
}

function persistence(num) {
var numArray = num.toString().split('').map(Number);
return reducer(numArray);
}

console.log(persistence(485));

更短的方法可能是使用带有字符串迭代器的扩展语法来获取个位数,然后将值相乘并返回结果。

function persistence(number) {
return [...number.toString()].reduce((p, v) => p * v);
}

console.log(persistence(485));

关于javascript - 在 JavaScript 中将数字中的各个数字相互相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49738752/

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