Javascript 如何在一组对象中进行数学运算?
我想计算Javascript 如何在一组对象中进行数学运算?,javascript,arrays,object,math,Javascript,Arrays,Object,Math,我想计算totalPrice中的qty*price,它给了我“qty未定义”,我该怎么做 let products = [ { title: "Sunglasses", imgURL: "images/Products/sunglasses.jpg", desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut nulla adipisci fug
totalPrice
中的qty*price
,它给了我“qty未定义”,我该怎么做
let products = [
{
title: "Sunglasses",
imgURL: "images/Products/sunglasses.jpg",
desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut nulla adipisci fugiat pariatur recusandae repudiandae fuga molestias doloremque itaque obcaecati.",
price:80,
qty:1,
totalPrice: qty * price,
id: 1
}]
它应该是一个购物车,因此数量
会发生变化,我希望总价
在对象中,因为我假设将购物车中所有产品的总价
放在一起,得到整个购物车的总价您可以使用:
const产品=[
{
标题:“太阳镜”,
imgURL:“图像/产品/太阳镜.jpg”,
描述:“知识产权或权利属于社会精英,但不属于社会精英。”,
价格:80,
数量:1,
身份证号码:1
}
];
const res=products.map(product=>
({…产品,总价:product.qty*product.price})
);
控制台日志(res)代码>您可以使用:
const产品=[
{
标题:“太阳镜”,
imgURL:“图像/产品/太阳镜.jpg”,
描述:“知识产权或权利属于社会精英,但不属于社会精英。”,
价格:80,
数量:1,
身份证号码:1
}
];
const res=products.map(product=>
({…产品,总价:product.qty*product.price})
);
控制台日志(res)代码>您引用的是变量(不存在),而不是属性
有几种方法可以解决这个问题。例如,您可以在第二步中添加总价:
let products = [
{
title: "Sunglasses",
imgURL: "images/Products/sunglasses.jpg",
desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut nulla adipisci fugiat pariatur recusandae repudiandae fuga molestias doloremque itaque obcaecati.",
price:80,
qty:1,
id: 1
}]
for (let product of products) product.totalPrice = product.qty * product.price;
或者,您可以使用getter动态计算它:
let products = [
{
title: "Sunglasses",
imgURL: "images/Products/sunglasses.jpg",
desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut nulla adipisci fugiat pariatur recusandae repudiandae fuga molestias doloremque itaque obcaecati.",
price:80,
qty:1,
get totalPrice() { return this.qty * this.price },
id: 1
}]
您引用的是变量(不存在),而不是属性
有几种方法可以解决这个问题。例如,您可以在第二步中添加总价:
let products = [
{
title: "Sunglasses",
imgURL: "images/Products/sunglasses.jpg",
desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut nulla adipisci fugiat pariatur recusandae repudiandae fuga molestias doloremque itaque obcaecati.",
price:80,
qty:1,
id: 1
}]
for (let product of products) product.totalPrice = product.qty * product.price;
或者,您可以使用getter动态计算它:
let products = [
{
title: "Sunglasses",
imgURL: "images/Products/sunglasses.jpg",
desc: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Aut nulla adipisci fugiat pariatur recusandae repudiandae fuga molestias doloremque itaque obcaecati.",
price:80,
qty:1,
get totalPrice() { return this.qty * this.price },
id: 1
}]
为什么不totalPrice:1*80
?80
和1
从哪里来。。。在数据库记录中使用诸如totalPrice
之类的字段是没有意义的。。。它只占用存储空间,并且可以使用query@MrUpsidown它应该是一个购物车,所以数量
会发生变化,我希望总价
在对象中,因为我假设将购物车中所有产品的总价
放在一起,得到两辆车的总价到目前为止,答案是肯定的。有没有反馈给他们?“…将购物车中所有产品的总价放在一起,得到整个购物车的总价”怎么样const totalCart=products.reduce((sum,{qty,price})=>sum+qty*price,0)代码>这就是不需要对象上的这些属性就可以获得购物车总价的简单方法。特别是像购物车这样动态的东西,我会避免存储冗余数据。太简单了,quaty*price
和totalPrice
不同步,而且我觉得用getter来处理那些琐碎的事情太过分了。为什么不totalPrice:1*80
?80
和1
来自哪里。。。在数据库记录中使用诸如totalPrice
之类的字段是没有意义的。。。它只占用存储空间,并且可以使用query@MrUpsidown它应该是一个购物车,所以数量
会发生变化,我希望总价
在对象中,因为我假设将购物车中所有产品的总价
放在一起,得到两辆车的总价到目前为止,答案是肯定的。有没有反馈给他们?“…将购物车中所有产品的总价放在一起,得到整个购物车的总价”怎么样const totalCart=products.reduce((sum,{qty,price})=>sum+qty*price,0)代码>这就是不需要对象上的这些属性就可以获得购物车总价的简单方法。特别是像购物车这样动态的东西,我会避免存储冗余数据。这太简单了,qty*price
和totalPrice
不同步,而且我觉得用getter来处理那些琐碎的事情太过分了。