JavaScript:计算字符串中特定整数的实例

JavaScript:计算字符串中特定整数的实例,javascript,jquery,html,Javascript,Jquery,Html,好的,我在一个div里有一堆数字,比如说 <div id="countme">7, 5, 6, 0, 3, 0, 5, 3, 3, 2, 8</div> 但我需要它显示它搜索的号码,我需要所有的东西都在一个警报中 有什么想法吗 谢谢!:) JSBIN: 这是答案 var str = document.getElementById('countme').innerText; var array = JSON.parse("[" + str+ "]"); var c

好的,我在一个div里有一堆数字,比如说

<div id="countme">7, 5, 6, 0, 3, 0, 5, 3, 3, 2, 8</div>
但我需要它显示它搜索的号码,我需要所有的东西都在一个警报中

有什么想法吗

谢谢!:)

JSBIN:

这是答案

var str    = document.getElementById('countme').innerText;
var array  = JSON.parse("[" + str+ "]");
var counts = {};
array.forEach(function(x) { counts[x] = (counts[x] || 0) + 1; });
console.log(counts);
试试这个

var str=“7,5,6,0,3,0,5,3,3,2,8”;
str=str.replace(/\s/g,“”);
str=str.split(“,”);
var result={};
str.forEach(函数(值){
如果(结果[值]){
结果[值]+;
}
否则{
结果[值]=1;
}
});
var输出=”;
对于(结果中的值){
输出+=(输出==“”?“”:“,”+“(“+value+”,“+result[value]+”)”;
}

警报(输出)我认为这几乎是你能得到的最有效的方法。它还可用作常规计数唯一匹配方法:

var testString = document.getElementById('countme').innerText;
count = {}; 
var regX = /(\d+)/g;
var res;
while (res = regX.exec(testString )) {
    count[res[0]] = (count[res[0]] !== undefined ? ++count[res[0]] : 1)
};

这在逻辑上与我即将发布的解决方案相同;但是,作为一种风格批评,我尽量避免使用预增量运算符(例如
++a[b]
)。它的可读性往往很差,像“a”和“b”这样没有意义的变量名也是如此(除非它或多或少是惯用的,比如排序函数,但即使这样,我也可能更喜欢更具描述性的名称)。
var str    = document.getElementById('countme').innerText;
var array  = JSON.parse("[" + str+ "]");
var counts = {};
array.forEach(function(x) { counts[x] = (counts[x] || 0) + 1; });
console.log(counts);
var testString = document.getElementById('countme').innerText;
count = {}; 
var regX = /(\d+)/g;
var res;
while (res = regX.exec(testString )) {
    count[res[0]] = (count[res[0]] !== undefined ? ++count[res[0]] : 1)
};