我如何计算在输入字段中写入的数组的出现次数?

问题描述:

window.onload = oppstart; 
var string=[]; 

function oppstart() { 
document.getElementById("knapp").onclick=knapp; 
} 

function knapp(){ 
var felt = document.getElementById("felt").value; 

var array = new Array(); 
array = felt.split(","); 

for (var i = 0; i < array.length; i++) { 
    console.log(array[i]); 

} 
var skrivUt = document.getElementById("utskrift"); 
       document.getElementById("utskrift").innerHTML = " "; 

} 

所以我有一个名为“毛毡”在HTML中的输入字段。当用户输入数字“1,2,3,4,5”等我拆分他们,并把他们在没有逗号的控制台日志。我有我的价值观后,我想要做的是计算数字的出现并在我的innerHTML上打印结果“skrivUT”我如何计算在输入字段中写入的数组的出现次数?

+0

在功能'末尾添加该knapp':'skrivUt.innerHTML = “” + array.length + “”;'。 –

+0

它只是计算索引的数量,而不是发生的事情 –

您可以采用tha数组并使用一个对象来计算单个值的出现次数。计数后显示对象。

该计数适用于没有任何原型的对象,它会检查具有真值的属性是否可用,然后增加计数器。在oser情况下,将第一个计数分配给属性。

window.onload = oppstart; 
 

 
function getPlural(number, word) { 
 
    return number === 1 && word.one || word.other; 
 
} 
 

 
function joinNice(array) { 
 
    var a = array.slice(); // take copy, prevent mutation of array 
 
    return a.concat(a.splice(-2, 2).join(' and ')).join(', '); 
 
} 
 

 
function oppstart() { 
 
    document.getElementById("knapp").onclick = knapp; 
 
} 
 

 
function knapp() { 
 
    var count = Object.create(null), 
 
     felt = document.getElementById("felt").value, 
 
     skrivUt = document.getElementById("utskrift"), 
 
     array = felt.split(","), 
 
     i; 
 

 
    for (i = 0; i < array.length; i++) { 
 
     if (count[array[i]]) { 
 
      ++count[array[i]]; 
 
     } else { 
 
      count[array[i]] = 1; 
 
     } 
 
    } 
 

 
    utskrift.innerHTML = 'You wrote: ' + joinNice(Object.keys(count).map(function (k) { 
 
     return count[k] + ' ' + getPlural(count[k], time) + ' item ' + k; 
 
    })) + '.'; 
 
} 
 

 
var time = { one: 'time', other: 'times' };
<input id="felt"> <button id="knapp">submit</button> 
 
<p id="utskrift"></p>

+0

我喜欢你解释这个的方式!谢谢。当我运行你的代码片段时,我也打印了括号。这是否应该发生?我在手机atm,所以我不能测试代码 –

+0

正确的,你得到了输出中的整个对象。如果你想获得另一个格式化的输出,你可以遍历键和值。问题中缺少结果应该如何。 –

+0

我明白了!有没有其他的方式来做到没有对象和JSON? –