gpt4 book ai didi

javascript - 为什么脚本将整个多位数字分隔成单独的数字?

转载 作者:行者123 更新时间:2023-12-03 00:54:38 25 4
gpt4 key购买 nike

我的这段代码有问题。当我运行它时,然后插入一个两位数字,脚本将其分开。例如:输入 12 显示 1 个偶数和 1 个奇数;输入26显示2偶数;我希望它是混合的,因此如果我输入两位数或更多数字(例如 432152),则需要为 1 个总和、1 个值,并显示为 1 个偶数。感谢您有机会在这里寻求帮助!

function countfromzero() {
if (document.getElementById("maintextbox").value !="") {
CalculateNumbers();
}
}

function CalculateNumbers() {
var arr = [];
var asd = 0;
var evn = 0;
arr = document.getElementById("maintextbox").value;
arr = arr.replace(/, | /g, "");
for (i = 0; i < arr.length; i++) {
if (arr[i] % 2 != 0) {
asd++;
}
else {
evn++;
}
}
document.getElementById("eventextbox").value = evn;
document.getElementById("oddtextbox").value = asd;
}
<input type="text" name="maintextbox" id="maintextbox">
<input type="button" id="buttton" name="Process" value="Process" onclick="countfromzero();"><br>
Even:<input type="text" name="eventextbox" id="eventextbox"><br>
Odd:<input type="text" name="oddtextbox" id="oddtextbox">

最佳答案

您的 arr 变量不是您显然希望的数组。将 replace 方法更改为 split 方法(使用稍微不同的正则表达式),然后就完成了

function countfromzero() {
if (document.getElementById("maintextbox").value !="") {
CalculateNumbers();
}
}

function CalculateNumbers() {
var arr = [];
var asd = 0;
var evn = 0;
var str = document.getElementById("maintextbox").value;
arr = str.split(/[^\d]+/g);
for (i = 0; i < arr.length; i++) {
if (arr[i] % 2 != 0) {
asd++;
}
else {
evn++;
}
}
document.getElementById("eventextbox").value = evn;
document.getElementById("oddtextbox").value = asd;
}
<input type="text" name="maintextbox" id="maintextbox" value="432152">
<input type="button" id="buttton" name="Process" value="Process" onclick="countfromzero();"><br>
Even:<input type="text" name="eventextbox" id="eventextbox"><br>
Odd:<input type="text" name="oddtextbox" id="oddtextbox">

关于javascript - 为什么脚本将整个多位数字分隔成单独的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52887620/

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