Javascript JS字符串计数器

Javascript JS字符串计数器,javascript,Javascript,我想让这段代码计算类别和消息在底部字符串中的次数,即不同id号的次数。代码只给了我最后一个 它很乱,斯里。谢谢你的帮助 亲切的问候 计数器=功能{ var值=$'text'.val; 如果value.length==0{ $'wordCount'.html0; 回来 } var regex=/\s+/gi; var wordCount=value.trim.replaceregex,'.split''。长度; }; $document.readyfunction{ var obj={data:

我想让这段代码计算类别和消息在底部字符串中的次数,即不同id号的次数。代码只给了我最后一个

它很乱,斯里。谢谢你的帮助

亲切的问候

计数器=功能{ var值=$'text'.val; 如果value.length==0{ $'wordCount'.html0; 回来 } var regex=/\s+/gi; var wordCount=value.trim.replaceregex,'.split''。长度; }; $document.readyfunction{ var obj={data:{ 发件人:{ 类别:第一类,, id:1, 信息:WIZ1 }, 发件人:{ 类别:第二类,, id:2, 信息:WIZ2 }, 发件人:{ 类别:第三类,, id:3, 信息:WIZ3 }, 发件人:{ 类别:cat4, id:4, 信息:WIZ3 }, } }; $.eachobj,函数{ $.eachthis,functionname,value{ $result.appendname+'='+value.category; }; }; }; 字:0
JS对象中的每个项都具有相同的键“from”。 这会导致每一个都覆盖上一个,这就是为什么它只找到最后一个

{ 数据:{ 从1开始:{ 类别:第一类,, id:1, 信息:WIZ1 }, 从2开始:{ 类别:第二类,, id:2, 信息:WIZ2 }, 从3开始:{ 类别:第三类,, id:3, 信息:WIZ3 }, 从4开始:{ 类别:cat4, id:4, 信息:WIZ3 } }
} 您有一个具有from属性的对象被覆盖了4次。看起来您想要的是一个数组,如下例所示

我还更改了代码,以实际捕获类别和消息,就像您文章中的描述一样,在循环之后,这些对象将具有按消息计数和按类别计数的功能。 计数器=功能{ var值=$'text'.val; 如果value.length==0{ $'wordCount'.html0; 回来 } var regex=/\s+/gi; var wordCount=value.trim.replaceregex,'.split''。长度; }; $document.readyfunction{ var obj={data:[ { 类别:第一类,, id:1, 信息:WIZ1 }, { 类别:第二类,, id:2, 信息:WIZ2 }, { 类别:第三类,, id:3, 信息:WIZ3 }, { 类别:cat4, id:4, 信息:WIZ3 }, ] }; 变量类别={}; var消息={} $.eachobj,函数{ $.eachthis,functionname,value{ 如果!categories[value.category]categories[value.category]=0; 类别[值.类别]+=1; 如果!messages[value.message]messages[value.message]=0; 消息[value.message]+=1; $result.appendname+'='+value.category; }; }; console.logcategories; console.logmessages; }; 字:0
首先,您似乎对obj.date有问题,因为您在同一个对象中将4 x定义为键,并且在最后一项结束时,您还在全局空间中定义计数器,也许您想要这个,但我对此表示怀疑。@Xotic750最后一个,没有错,至少根据,但不应该使用它,因为它会在IE 9之前破坏IE中的脚本。正确,我只是没有在我的评论中完全解释原因代码中的对象不是JSON,而是常规JavaScript对象。JSON的语法确实是JavaScript对象的子集,但您不会调用JavaScript对象JSON。JSON实际上是一种交换格式/语言。它不是,它是一种不可混淆的语言。编辑以反映这一点。