Javascript 将项目添加到对象的长度

Javascript 将项目添加到对象的长度,javascript,arrays,object,Javascript,Arrays,Object,我有一个包含一些数组项的对象,现在我必须计算所有项的长度。我有了计算这些项目的想法,我声明了count=0变量,然后计算了这些项目的长度并添加了count变量 var obj={ 第1项:['item1','item2','item3','item4'], 第2项:['item1','item2','item3','item4','item5'], 第3项:['item1','item2','item3'] } var计数=0; Object.entries(obj.map)(项=>{ 计数+

我有一个包含一些数组项的对象,现在我必须计算所有项的长度。我有了计算这些项目的想法,我声明了
count=0
变量,然后计算了这些项目的长度并添加了
count
变量

var obj={
第1项:['item1','item2','item3','item4'],
第2项:['item1','item2','item3','item4','item5'],
第3项:['item1','item2','item3']
}
var计数=0;
Object.entries(obj.map)(项=>{
计数+=项目[1]。长度
})

console.log(count)
您正在查找的reduce:

  Object.values(obj).reduce((sum, subarr) => sum + subarr.length, 0)

这是一个罕见的好用例,有很多WAR REDUCT实际上使代码复杂化,因此使用全局变量有时是更好的方法。

您正在寻找REDUCT:

  Object.values(obj).reduce((sum, subarr) => sum + subarr.length, 0)
这是为数不多的一个好的用例,有很多WAR REDUCT实际上使代码复杂化,因此使用全局变量有时是更好的方法。

您可以这样做

[].concat.apply([], Object.values(obj)).length
或者使用ES6

[].concat(...Object.values(obj)).length
我只是在你能做的事情上再增加一个步骤

[].concat.apply([], Object.values(obj)).length
或者使用ES6

[].concat(...Object.values(obj)).length

我只是给subar添加了一个步骤。length将返回键的长度,它应该是subar[1]。length@DelowarHosain我认为你把
对象。entries()
对象。values()
哇,一个认为
减少
使用最多的同类精神令人困惑
subar.length
将返回键的长度,它应该是
subar[1]。length
@DelowarHosain我认为你把
Object.entries()
Object.values()混淆了。哇,一个认为
减少
使用最多的同类精灵令人困惑!什么是
calculate
变量?你的意思是
count
?什么是
calculate
变量?你是说计数吗?