javascript,json值计算?
我想数一数value的数字。 这里是jsonjavascript,json值计算?,javascript,json,Javascript,Json,我想数一数value的数字。 这里是json x = {"first" : ["apple", "banana", "car", "day"], "second" : ["apple","car"], "third" : ["day"], "fourth" " [], "fifth" : ["apple"] } 我需要这些输出 object..???['apple'] >>>3 object..???['banana'] >>
x = {"first" : ["apple", "banana", "car", "day"],
"second" : ["apple","car"],
"third" : ["day"],
"fourth" " [],
"fifth" : ["apple"]
}
我需要这些输出
object..???['apple']
>>>3
object..???['banana']
>>>1
object..???['car']
>>>2
object..???['day']
>>>2
object..???['elephant']
>>>0
我应该使用哪种代码
我尝试了以下操作,但不起作用:
Object.values(x['day']).length;
您可以使用
object.values()
和.flat()
获取对象中的所有值并将它们放入数组中。然后,您可以.filter()
将值数组中不是所需项的任何项清除。最后,您可以获取此数组的.length
,以查找与您的搜索匹配的项目数
见下例:
const x={
“第一”:[“苹果”、“香蕉”、“汽车”、“一天”],
“第二”:[“苹果”、“汽车”],
“第三天”:[“天”],
“第四”:[…],
“第五”:[“苹果”]
}
const countItem=(对象,搜索)=>
Object.values(obj.flat().filter(item=>item==search).length;
console.log(countItem(x,“苹果”);//3.
console.log(countItem(x,“香蕉”);//1.
console.log(countItem(x,“car”);//2.
console.log(countItem(x,“day”);//2.
console.log(countItem(x,“大象”);//0
用于展平对象的值,然后使用reduce操作计算键在对象中出现的次数:
const x={
“第一”:[“苹果”、“香蕉”、“汽车”、“一天”],
“第二”:[“苹果”、“汽车”],
“第三天”:[“天”],
“第四”:[…],
“第五”:[“苹果”]
};
常量计数=(k)=>Object.values(x.flat().reduce((a,v)=>a+(k==v?1:0),0);
console.log(计数('day'));//2
签出Array.reduce.@rayhatfield不确定如何处理对象对象.values(x).reduce(…)
这里是json
-不,这里是javascript对象