Javascript 如何迭代对象文字数组以找到匹配的属性?
这是一辆购物车 我想检索定期列表中物品的价格,并使用它们计算我购物车的总价格 购物车“michael”中的第一项是客户的姓名 如何在JavaScript中实现这一点Javascript 如何迭代对象文字数组以找到匹配的属性?,javascript,arrays,json,object,Javascript,Arrays,Json,Object,这是一辆购物车 我想检索定期列表中物品的价格,并使用它们计算我购物车的总价格 购物车“michael”中的第一项是客户的姓名 如何在JavaScript中实现这一点 'use strict' const listing = (name, price) => ({ name, price }) const cart = (customer, ...items) => ({ customer, items }) const liste
'use strict'
const listing =
(name, price) => ({
name,
price
})
const cart =
(customer, ...items) => ({
customer,
items
})
const listedPrice =
listing =>
name =>
name === listing.name
? listing.price
: 0
const regularListings = [
listing('detergent', 10),
listing('hennessey', 100),
listing('carlo rozzi', 20),
listing('coffee', 5),
listing('cookies', 6),
listing('mountain dew', 2)
]
const carts = [
cart(
'michael',
'coffee',
'hennessey',
'coffee',
'hennessey',
'coffee',
'hennessey'
)
]
您可以减少
常规列表
并计算总数
const regularListings = [
listing('detergent', 10),
listing('hennessey', 100),
listing('carlo rozzi', 20),
listing('coffee', 5),
listing('cookies', 6),
listing('mountain dew', 2)
]
const total = regularListings.reduce((state, item) => state + item, 0);
您可以减少
常规列表
并计算总数
const regularListings = [
listing('detergent', 10),
listing('hennessey', 100),
listing('carlo rozzi', 20),
listing('coffee', 5),
listing('cookies', 6),
listing('mountain dew', 2)
]
const total = regularListings.reduce((state, item) => state + item, 0);
您将遇到一个问题:对象属性没有保证的顺序。您的购物车可能应该是一个数组,而不是一个对象。您将遇到一个问题:对象属性没有保证的顺序。你的购物车应该是一个数组,而不是一个对象。如果你想使用ES6箭头符号:
regularListings.reduce((total,item)=>total+item.price,0)代码>还有,0在那里,因为如果不清楚,值total
将从开始。如果要使用ES6箭头表示法:regularListings.reduce((总计,项目)=>total+item.price,0)代码>同样,0也在那里,因为如果不清楚的话,total
的值将从开始。