Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 用对象求和数组_Javascript_Lodash - Fatal编程技术网

Javascript 用对象求和数组

Javascript 用对象求和数组,javascript,lodash,Javascript,Lodash,我有以下对象数组,我想总结一下所有出现的watt: 让所有产品=[{ “唯一id”:“102”, “货币”:“$”, “价格”:“529.99”, “瓦特”:150 }, { “唯一id”:“11”, “货币”:“$”, “价格”:“323”, “瓦特”:150 }, { “唯一id”:“13”, “货币”:“$”, “价格”:“23”, “瓦特”:77 } ] 让我们来看看瓦特= _(所有产品) .map((对象,键)=>({ “瓦特”:.sumBy(objs,“瓦特”) })) .valu

我有以下对象数组,我想总结一下所有出现的
watt

让所有产品=[{
“唯一id”:“102”,
“货币”:“$”,
“价格”:“529.99”,
“瓦特”:150
},
{
“唯一id”:“11”,
“货币”:“$”,
“价格”:“323”,
“瓦特”:150
},
{
“唯一id”:“13”,
“货币”:“$”,
“价格”:“23”,
“瓦特”:77
}
]
让我们来看看瓦特=
_(所有产品)
.map((对象,键)=>({
“瓦特”:.sumBy(objs,“瓦特”)
}))
.value()
console.log(getWatt)
只需拿一个带有对象数组的单键和想要的键
瓦特
求和即可

您的尝试使用对象,而不是
的数组.sumBy
。对象不是数组,返回值为零

var-allProducts=[{唯一id:“102”,货币:“$”,价格:“529.99”,瓦特:150},{唯一id:“11”,货币:“$”,价格:“323”,瓦特:150},{唯一id:“13”,货币:“$”,价格:“23”,瓦特:77},
getWatt=uu.sumBy(所有产品,'watt');
console.log(getWatt)

使用纯js很容易

const sum=allProducts.reduce((a,{watt})=>a+watt,0);
控制台日志(总和)

让所有产品=[{
“唯一id”:“102”,
“货币”:“$”,
“价格”:“529.99”,
“瓦特”:150
},
{
“唯一id”:“11”,
“货币”:“$”,
“价格”:“323”,
“瓦特”:150
},
{
“唯一id”:“13”,
“货币”:“$”,
“价格”:“23”,
“瓦特”:77
}
]
尝试以下操作:

让所有产品=[{
“唯一id”:“102”,
“货币”:“$”,
“价格”:“529.99”,
“瓦特”:150
},
{
“唯一id”:“11”,
“货币”:“$”,
“价格”:“323”,
“瓦特”:150
},
{
“唯一id”:“13”,
“货币”:“$”,
“价格”:“23”,
“瓦特”:77
}
];
var总和=所有产品。减少((总和,a)=>{
返回和+a.watt;
},0);

控制台日志(总和)我已经阅读了答案,但我想对您的问题进行解释。获取数组的原因是使用。As
map
返回数组而不是单个元素。此外,您希望得到修改后的返回数组,而
map
不这样做

你想要实现的是可以通过使用。我的意思是,这就是为什么存在
.reduce

让所有产品=[{
“唯一id”:“102”,
“货币”:“$”,
“价格”:“529.99”,
“瓦特”:150
},
{
“唯一id”:“11”,
“货币”:“$”,
“价格”:“323”,
“瓦特”:150
},
{
“唯一id”:“13”,
“货币”:“$”,
“价格”:“23”,
“瓦特”:77
}
];
var getWatt=所有产品的功率减少((acc,curr)=>acc+curr.watt,0);
console.log(getWatt)