我如何计算文件中出现的一个名字的发生率JSON
。我想知道有多少次,让我说“ MICO”,出现在JSON
文件中,我想将其存储在类似的变量中var mico=2;
。我的JSON
文件如下所示:
[
{
"igralec1": "LEON",
"datum": "Cetrtek - 21. Julij 2016",
"set1": "4",
"set2": "6",
"set3": "6",
"set4": "-",
"set5": "-",
"igralec2": "MICO",
"set21": "6",
"set22": "1",
"set23": "4",
"set24": "-",
"set25": "-"
},
{
"igralec1": "MICO",
"datum": "Ponedeljek - 11. Julij 2016",
"set1": "6",
"set2": "6",
"set3": "6",
"set4": "-",
"set5": "-",
"igralec2": "PERO",
"set21": "2",
"set22": "1",
"set23": "3",
"set24": "-",
"set25": "-"
}
]
假设JSON已被(以某种方式)检索到一个名为的变量中json
,则您必须对其进行解析以获取一个数组:
var array = JSON.parse(json);
尽管如果您使用了jQuery Ajax方法来获取它,则jQuery可能会为您解析它,因此您可以跳过该步骤。无论如何,假设已解析的数据(一种或另一种方式)位于一个称为的变量中array
:
function searchForWord(word, array) {
return array.reduce(function(s, o) {
if (o.igralec1 === word) s++;
if (o.igralec2 === word) s++;
return s;
}, 0);
}
var micoCount = searchForWord("MICO", array); // 2
var peroCount = searchForWord("PERO", array); // 1
演示:https : //jsfiddle.net/rzmada6p/1/
我使用了两个if
语句,以防同一对象中的igralec1
和igralec2
属性都可能包含您要查找的单词。如果您知道它只会是任何给定对象中的一个或另一个属性,则可以使用一个if
或一个或一个进行操作:
if (o.igralec1 === searchWord || o.igralec2 === searchWord) s++;
进一步阅读:数组.reduce()
方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句