javascript - 如何迭代对象文字数组以查找匹配的属性?

标签 javascript arrays json object

这是一个购物车。

我想检索常规列表中商品的价格并使用它们来计算我的购物车的总额。

购物车中的第一项“michael”是客户的姓名。

如何在 JavaScript 中完成此操作?

'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'
  )
]

最佳答案

您可以减少regularListings并计算总数

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);

关于javascript - 如何迭代对象文字数组以查找匹配的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42629191/

相关文章:

javascript - React.js : How to change icon when item in the list is clicked?

c - 移动字符串数组中的元素并用零填充

Python错误: 'Series' object has no attribute 'flatten'

json - 当发布到我的 Django API : errorcom. google.gson.JsonParseException: 无法解析 json

c# - 使用 Json.Net 查询带有过滤器的 Json

javascript - document.location.href 相对路径

javascript - 在 Javascript 中的范围内舍入

ios - Swift,UIView 到二维数组中的位置

用于从移动应用程序的 mysql 服务器获取数据的 PHP 代码

javascript - 如何在 jQuery 和 CasperJS 中禁用超时