Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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 使用reduce对数组中对象的价格求和_Javascript - Fatal编程技术网

Javascript 使用reduce对数组中对象的价格求和

Javascript 使用reduce对数组中对象的价格求和,javascript,Javascript,我有一个对象数组,它有一个price属性,我试图对对象中的所有价格求和。我想让我困惑的是,它是一个对象数组,所以我很难访问price属性 以下是控制台中显示的内容:0[object object][object object][object object][object object][object object][object object][object object][object object] 这是我的密码: const items = [ { name: 'Bike', pr

我有一个对象数组,它有一个price属性,我试图对对象中的所有价格求和。我想让我困惑的是,它是一个对象数组,所以我很难访问price属性

以下是控制台中显示的内容:
0[object object][object object][object object][object object][object object][object object][object object][object object]

这是我的密码:

const items = [
    { name: 'Bike', price: 100 },
    { name: 'TV', price: 200 },
    { name: 'Album', price: 10 },
    { name: 'Book', price: 5 },
    { name: 'Phone', price: 500 },
    { name: 'Computer', price: 1000 },
    { name: 'Keyboard', price: 25 }
];
const totalPrice = items.reduce((total, curVal) => {
    return total + curVal;
}, 0);
你就快到了

const项=[
{名称:'自行车',价格:100},
{名称:'TV',价格:200},
{名称:'专辑',价格:10},
{名称:'书',价格:5},
{名称:'电话',价格:500},
{名称:'计算机',价格:1000},
{名称:'键盘',价格:25}
];
const totalPrice=items.reduce((a,b)=>a+b.price,0);

控制台日志(总价)因为curVal是对象,所以需要通过
curVal.price

const项=[
{名称:'自行车',价格:100},
{名称:'TV',价格:200},
{名称:'专辑',价格:10},
{名称:'书',价格:5},
{名称:'电话',价格:500},
{名称:'计算机',价格:1000},
{名称:'键盘',价格:25}
];
const totalPrice=项目。减少((总计,曲线)=>{
返回总价格+曲线价格;
}, 0);
控制台日志(总价)
解释-
我们最初将总和设为零

然后,我们将使用foreach循环遍历数组,并使用el.price访问price属性,并计算sum

use
total+curVal.price
,因为
curVal
是一个具有名为price-or、
items的属性的对象。reduce((total,{price:curVal})=>{/code>而不更改代码的其余部分是{price:curVal}考虑过对对象进行解构吗?解构并分配给新的变量名
const items = [
  { name: "Bike", price: 100 },
  { name: "TV", price: 200 },
  { name: "Album", price: 10 },
  { name: "Book", price: 5 },
  { name: "Phone", price: 500 },
  { name: "Computer", price: 1000 },
  { name: "Keyboard", price: 25 },
];

let sum = 0;
items.forEach((el) => {
  sum += el.price;
});
console.log(sum);