Javascript 在元素中搜索数字,然后输入数字作为数据

Javascript 在元素中搜索数字,然后输入数字作为数据,javascript,counting,Javascript,Counting,老实说,我不知道从哪里开始。我是JavaScript新手,一直在研究不同的东西 其中一种方法是计算一系列数字,然后返回所有计算的整数值,例如 我必须将每个序列除以3,将数字向下舍入,然后减去2。然后把每一个值加起来,得出一个总数 到目前为止我所拥有的 HTML: <p id="groupNumbers"> 56833 117651 56733 89472 91010 119618 85667 141042 106401 121495 50136 83755 122558 1491

老实说,我不知道从哪里开始。我是JavaScript新手,一直在研究不同的东西

其中一种方法是计算一系列数字,然后返回所有计算的整数值,例如

我必须将每个序列除以3,将数字向下舍入,然后减去2。然后把每一个值加起来,得出一个总数

到目前为止我所拥有的

HTML:

<p id="groupNumbers"> 
56833 117651 56733 89472 91010 119618 85667 141042 106401 121495 50136 83755
122558 149188 110381 132060 145791 141381 136467 104712 133530 65297 52640 
59637 78410 107791 96909 136738 109794 66831 58426 97955 90496 119294 83101 
80466 114370 67631 106482 73996 50367 113976 68998 109714 96308 89350 143077 
102052 93325 86870 94449 119448 53472 140668 64989 112056 88880 131335 94943 
88061 122883  129059 55345 82362 60500 147652 83147 87106 97384 136883 62198 
130290 129715 93082 72179 2109 70604 94894 98139 97056 86236 144191 108008 
79225 93551 103116 130702 87599 143630 104476 108922 134209 85636 81591 
127980 90425 126133 118135 93722

</p>
<h1>Total: <span id="result"> #### </span> </h1>
我需要的是分别扫描每个数字段,将其应用于数据字段,然后在创建每个数字段的总和后将这些数字相加。有点复杂

数字的预期输出(请求)[例如前6个数字序列]:

56833 = 18942
18942 = 6312
56733 = 18909
89472 = 29822
91010 = 30335
119618 = 39871

total for changed HTML span value = 144,191 

我对下一步需要做的事情有点迷茫,如果有任何帮助,我将不胜感激

谢谢@TKol用数组为我指明了正确的方向

答复如下:


var a =  "115919,56833,117651,56733,89472,91010,119618,85667,141042,106401,121495,50136,83755,122558,149188,110381,132060,145791,141381,136467,104712,133530,65297,52640,59637,78410,107791,96909,136738,109794,66831,58426,97955,90496,119294,83101,80466,114370,67631,106482,73996,50367,113976,68998,109714,96308,89350,143077,102052,93325,86870,94449,119448,53472,140668,64989,112056,88880,131335,94943,88061,122883,129059,55345,82362,60500,147652,83147,87106,97384,136883,62198,130290,129715,93082,72179,72109,70604,94894,98139,97056,86236,144191,108008,79225,93551,103116,130702,87599,143630,104476,108922,134209,85636,81591,127980,90425,126133,118135,93722";


var b = a.split(',').map(function(item) {
    return parseInt(item, 10);
});

//Forms variable into an array.

    for (var i=0; i < b.length; i++) {
        (b[i] /= 3);
    }

//Divides array items by 3.

var x = 0;
    var len = b.length
        while(x < len){ 
        b[x] = b[x].toFixed(0); 
        x++
    }

//Rounds divided array down to whole numbers

function sum(input){
    if (toString.call(input) !== "[object Array]")
    return false;
        var total =  0;
            for(var i=0;i<input.length;i++)
    {                  
    if(isNaN(input[i])){
    continue;
    }
    total += Number(input[i]);
    }
        return total;
}

console.log(b);
console.log(sum(b));

将其绑定到HTML中是另一回事,但我将进一步研究它。现在,JavaScript端就可以了。

请在你的问题正文中提供数字
p
作为
html
代码。添加一些数字和预期输出你说你对下一步需要做的事情有点茫然,但是你写的代码现在做什么呢?这些问题你都解决了吗?我认为您应该从第1步开始:“如何将一个数字串
'120 651 8967'
转换为一个数字数组。”如果您可以在JSFIDLE中创建一个简单的半工作示例,例如或通过在StackOverflow上添加代码片段,您将来可能会得到帮助,这比使用第三方网站更好@TKoL——我忘了减去2,所以也添加了一个循环方法。(最终编辑是在JSFIDLE链接中。

var a =  "115919,56833,117651,56733,89472,91010,119618,85667,141042,106401,121495,50136,83755,122558,149188,110381,132060,145791,141381,136467,104712,133530,65297,52640,59637,78410,107791,96909,136738,109794,66831,58426,97955,90496,119294,83101,80466,114370,67631,106482,73996,50367,113976,68998,109714,96308,89350,143077,102052,93325,86870,94449,119448,53472,140668,64989,112056,88880,131335,94943,88061,122883,129059,55345,82362,60500,147652,83147,87106,97384,136883,62198,130290,129715,93082,72179,72109,70604,94894,98139,97056,86236,144191,108008,79225,93551,103116,130702,87599,143630,104476,108922,134209,85636,81591,127980,90425,126133,118135,93722";


var b = a.split(',').map(function(item) {
    return parseInt(item, 10);
});

//Forms variable into an array.

    for (var i=0; i < b.length; i++) {
        (b[i] /= 3);
    }

//Divides array items by 3.

var x = 0;
    var len = b.length
        while(x < len){ 
        b[x] = b[x].toFixed(0); 
        x++
    }

//Rounds divided array down to whole numbers

function sum(input){
    if (toString.call(input) !== "[object Array]")
    return false;
        var total =  0;
            for(var i=0;i<input.length;i++)
    {                  
    if(isNaN(input[i])){
    continue;
    }
    total += Number(input[i]);
    }
        return total;
}

console.log(b);
console.log(sum(b));
JavaScript1.js:35 (100) ["38640", "18944", "39217", "18911", "29824", "30337", "39873", "28556", "47014", "35467", "40498", "16712", "27918", "40853", "49729", "36794", "44020", "48597", "47127", "45489", "34904", "44510", "21766", "17547", "19879", "26137", "35930", "32303", "45579", "36598", "22277", "19475", "32652", "30165", "39765", "27700", "26822", "38123", "22544", "35494", "24665", "16789", "37992", "22999", "36571", "32103", "29783", "47692", "34017", "31108", "28957", "31483", "39816", "17824", "46889", "21663", "37352", "29627", "43778", "31648", "29354", "40961", "43020", "18448", "27454", "20167", "49217", "27716", "29035", "32461", "45628", "20733", "43430", "43238", "31027", "24060", "24036", "23535", "31631", "32713", "32352", "28745", "48064", "36003", "26408", "31184", "34372", "43567", "29200", "47877", "34825", "36307", "44736", "28545", "27197", "42660", "30142", "42044", "39378", "31241"]0: "38640"1: "18944"2: "39217"3: "18911"4: "29824"5: "30337"6: "39873"7: "28556"8: "47014"9: "35467"10: "40498"11: "16712"12: "27918"13: "40853"14: "49729"15: "36794"16: "44020"17: "48597"18: "47127"19: "45489"20: "34904"21: "44510"22: "21766"23: "17547"24: "19879"25: "26137"26: "35930"27: "32303"28: "45579"29: "36598"30: "22277"31: "19475"32: "32652"33: "30165"34: "39765"35: "27700"36: "26822"37: "38123"38: "22544"39: "35494"40: "24665"41: "16789"42: "37992"43: "22999"44: "36571"45: "32103"46: "29783"47: "47692"48: "34017"49: "31108"50: "28957"51: "31483"52: "39816"53: "17824"54: "46889"55: "21663"56: "37352"57: "29627"58: "43778"59: "31648"60: "29354"61: "40961"62: "43020"63: "18448"64: "27454"65: "20167"66: "49217"67: "27716"68: "29035"69: "32461"70: "45628"71: "20733"72: "43430"73: "43238"74: "31027"75: "24060"76: "24036"77: "23535"78: "31631"79: "32713"80: "32352"81: "28745"82: "48064"83: "36003"84: "26408"85: "31184"86: "34372"87: "43567"88: "29200"89: "47877"90: "34825"91: "36307"92: "44736"93: "28545"94: "27197"95: "42660"96: "30142"97: "42044"98: "39378"99: "31241"length: 100__proto__: Array(0)
JavaScript1.js:36 3330157