Javascript 参数{count}在下面的'reduce'调用中扮演什么角色?

Javascript 参数{count}在下面的'reduce'调用中扮演什么角色?,javascript,parameters,Javascript,Parameters,这是JavaScript的一个片段。调用reduce函数来计算出现的次数,并将计数返回变量total。reduce函数调用可以概括为reduce(array,someFunction,start){function body} 下面使用的reduce的具体实例是reduce(数组,(a,b)=>a+b,0)。在下面的代码片段中,表达式{count}是如何使用的,以及为什么它被包装在卷曲的{}括号中?。在我看来,它既不是一个功能体,也不是一个对象 let total = scripts.reduc

这是JavaScript的一个片段。调用
reduce
函数来计算出现的次数,并将计数返回变量
total
reduce
函数调用可以概括为
reduce(array,someFunction,start){function body}

下面使用的
reduce
的具体实例是
reduce(数组,(a,b)=>a+b,0)
。在下面的代码片段中,表达式
{count}
是如何使用的,以及为什么它被包装在卷曲的
{}
括号中?。在我看来,它既不是一个功能体,也不是一个对象

let total = scripts.reduce((n, {count}) => n + count, 0);

if (total == 0) return "No scripts found";

它遍历对象数组,其中这些对象具有
count
属性。它提取该属性并对这些值求和

这里,当你对1,2和3求和时,输出是6

const脚本=[
{计数:1,某物:'其他'},
{count:2,foo:'bar'},
{计数:3,baz:'23',arr:[1,2,3]}
];
让total=scripts.reduce((n,{count})=>n+count,0);

控制台日志(总计)
它是,并且
{count}
意味着
脚本
数组中的元素是具有
计数
属性的对象<代码>{count}提取这些
n+count
和初始值
0
也意味着每个
count
属性的值都是一个数字。几个要点:1。在同一页上查看函数countBy的定义。它返回一个具有name和count属性(counts.push({name,count:1}))的对象数组。此处使用的scripts对象是由该函数创建的。2.在对象数组上使用数组方法reduce()时,必须指定传入对象的哪个对象属性应用作reducer函数的currentValue。作者使用了解构,但不是
(n,{count})=>n+count
,他们可以编写
(n,x)=>n+x.count