Javascript 如何浏览列表并只计算数字?
我怎样才能浏览一个列表,让计算机检查它是否是一个数字,如果它是一个数字,我想数数,一直数到最后,然后显示结果 例如,如果我有一个数组:Javascript 如何浏览列表并只计算数字?,javascript,list,Javascript,List,我怎样才能浏览一个列表,让计算机检查它是否是一个数字,如果它是一个数字,我想数数,一直数到最后,然后显示结果 例如,如果我有一个数组: var myArray = [1,2,a,4]; 我所做的是首先拆分阵列: var splitted = myArray.toString()split(",").join(" "); 然后我使用for循环遍历每个分割的值,如果它是一个数字(或字符串),则对其进行计数,然后在适当的框中显示结果: for(i=0;i<splitted.length
var myArray = [1,2,a,4];
我所做的是首先拆分阵列:
var splitted = myArray.toString()split(",").join(" ");
然后我使用for循环遍历每个分割的值,如果它是一个数字(或字符串),则对其进行计数,然后在适当的框中显示结果:
for(i=0;i<splitted.length; i+=1)
{
if(isNaN(splitted[i])===true)
{
document.getElementById("resultWordCount").value = splitted[i];
}
else
{
document.getElementById("resultNumberCount").value = splitted[i];
对于(i=0;i您可以检查isNaN
并计数
var myArray=[1,2,'a',4],
结果=myArray.reduce(函数s,a){
返回s+!isNaN(a);
}, 0);
console.log(结果);
您可以使用isNaN检查并计数
var myArray=[1,2,'a',4],
结果=myArray.reduce(函数s,a){
返回s+!isNaN(a);
}, 0);
console.log(结果);
var myArray=[1,2,a,4];
var结果=0;
对于(var i=0;i
首先,如果您已经有一个数组,为什么要将它转换为字符串,然后拆分它,然后再将它连接到另一个字符串?您不是在数组项上循环,而是在字符串字符上循环。当您的输入更改时,这将导致各种问题
然后,isNaN(splitted[i])===true
检查数组的当前项是否不是数字,因此您应该忽略它们,而不是使用它们
最后,您不需要在任何地方进行求和,只需将每个项依次分配给“ResultNumber Count”标记的值。这就是为什么在过程结束时,您只需看到数组中最后一个值(或者实际上是字符串)首先,如果您已经有一个数组,为什么要将其转换为字符串,然后将其拆分,然后再将其连接到另一个字符串?您不是在数组项上循环,而是在字符串字符上循环。当输入更改时,这将导致各种问题
然后,isNaN(splitted[i])===true
检查数组的当前项是否不是数字,因此您应该忽略它们,而不是使用它们
最后,您不需要在任何地方进行任何求和,只需将每个项依次分配给“resultNumberCount”标记的值。这就是为什么在过程结束时,您只需看到数组中最后一个值(或者实际上是字符串)您可以使用映射函数
来计算整数的数量
var myArray = [1, 2, 'a', 4];
var numbers = 0;
myArray.map(function (a) {
if (Number(a))
numbers++;
});
console.log(numbers);
您可以使用map函数
计算整数的数量
var myArray = [1, 2, 'a', 4];
var numbers = 0;
myArray.map(function (a) {
if (Number(a))
numbers++;
});
console.log(numbers);
您不必拆分阵列
只需连接这些值
var myArray=[1,2,“a”,4];
var countNum=0;
var countNaN=0;
对于(i=0;i您不必拆分数组
只需连接这些值
var myArray=[1,2,“a”,4];
var countNum=0;
var countNaN=0;
对于(i=0;i你可以做:
var a = [1, 2, 'c', 4];
console.log(a.filter(function(value){
return !isNaN(value);
}).length)
你可以做:
var a = [1, 2, 'c', 4];
console.log(a.filter(function(value){
return !isNaN(value);
}).length)
您到底想显示什么?如果您想显示count,计数器在哪里?您正在覆盖document.getElementById(“resultWordCount”).value,是否要显示所有数字然后需要不同的结构计数是什么意思?是3
或7
的结果?我想显示列表/数组中数字和字符串的总数。例如,在这种情况下,我的总数计数将为3,因为此列表中有3个数字,而我的字/字符串/字符总数为nt将是1,因为只有一个“a”.document.getElementById(“ResultNumber count”)。值:是数字计数结果应显示的位置,document.getElementById(“ResultNumber count”).value:是单词计数结果应该显示的位置。您希望显示什么?如果要显示计数,计数器在哪里?您正在覆盖文档.getElementById(“resultWordCount”).value,是否要显示所有数字然后需要不同的结构计数是什么意思?是3
或7
的结果?我想显示列表/数组中数字和字符串的总数。例如,在这种情况下,我的总数计数将为3,因为此列表中有3个数字,而我的字/字符串/字符总数为nt将是1,因为只有一个“a”.document.getElementById(“ResultNumber count”)。值:是数字计数结果应显示的位置,document.getElementById(“ResultNumber count”).value:是单词计数结果应该显示的位置。您的代码可以工作,但它不显示字符串或数字的计数,而是逐字显示所有字符串和所有数字。您是否可以找到一种方法,使其仅在for完成此操作时才显示计数而不是数字或字符串。getElementById(“resultWordCount”).value=countNaN;
和document.getElementById(“resultNumberCount”).value=countNum
我甚至尝试过进行更改,但新代码现在给了我奇怪的数字列表“01284783”或“0000111”"etcdid你在答案中看到我的编辑了吗?这样你只显示总数,这是你需要的吗?你的代码可以工作,但不是显示字符串或数字的计数,而是逐字显示所有字符串和所有数字。你能找到一种方法,让它在for完成时显示计数而不是数字或字符串吗d执行此操作document.getElementById(“resultWordCount”).value=countNaN;
和document.getElementById(“resultNumberCount”).value=countNum
我甚至尝试过进行更改,但使用新代码,它现在给了我奇怪的数字列表“01284783”或“0000111”你在答案中看到我的编辑了吗?这样你只显示了总数,这是你需要的吗?虽然这个代码片段可以解决这个问题,但确实有助于提高你文章的质量。请记住,你是在为将来的读者回答这个问题,以及这些问题