【发布时间】:2016-10-13 09:56:34
【问题描述】:
我正在尝试对这个长字符串进行字符串拆分,并计算所有出现的次数,并对相同字符串拆分的 x 之前的数字求和
<div id="all">3xOrange;2xBlue;1xRed;1xRed;1xRed;1xOrange;2xBlue;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;2xOrange;3xRed;1xBlue;1xRed;2xBlue;3xRed;1xBlue;1xRed;20xBlue;33xRed;20xBlue;33xRed;2xBlue;3xRed;51xBlue;51xRed;</div>
<b id="total"></b>
我正在为这段代码苦苦挣扎:
var obj = {};
$("#all").text().split(";").forEach(function(text){
if (text != ""){
var part = text.split("x");
obj[part[1]] = obj[part[1]] != undefined ? obj[part[1]]+1 : parseInt(part[0]);
}
});
for (key in obj) {
$("#total").append(obj[key] +"×"+ key + "; ");
}
问题是虽然它在理论上有效,但是当字符串太长时,就像上面发布的那样,一些字符串拆分被求和忽略了。
Orange Red and Blue 的总和不正确。
请帮忙,我怎样才能修复这个功能来正确地总结我的字符串拆分。
【问题讨论】:
标签: jquery object text split counter