Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript,json值计算?_Javascript_Json - Fatal编程技术网

javascript,json值计算?

javascript,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'] >>

我想数一数value的数字。 这里是json

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对象