javascript - 如果另一个数组值等于 x,则获取数组值

标签 javascript arrays object properties

假设我有一个 JS array看起来像这样:

"transactionProducts": [
      {
        "name": "Product A",
        "price": 100
      },
      {
        "name": "Product B",
        "price": 1000
      }
    ]

我只想当名称值包含 B 或产品 B 时返回 Price 值。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

您可以先使用 .filter() 数组,然后使用 .map() 仅获取价格:

let strArray = ['B', 'Product B'];
let data = [{ "name": "Product A", "price": 100 },{ "name": "Product B", "price": 1000 }];

let result = data.filter(({ name }) => strArray.some(s => name.includes(s)))
                 .map(({ price }) => price);

console.log(result);

关于javascript - 如果另一个数组值等于 x,则获取数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53607806/

相关文章:

javascript - 为什么 .change() 不适用于 twitter-bootstrap 选择?

javascript - ajax 加载内容上的 zurb 基础和事件

c - 从数组中挑选并打印一组特定的整数

arrays - 左/右旋转数组后最长递增子数组的长度

javascript - 如何简化underscore.js中的两个嵌套findWhere?

javascript - 需要代码返回数组坐标

javascript - 使用 JS 单击时将 div 高度更改为子 div 的高度

html - 脚本错误: 'c is not a function"

python - 如何在 Python 中将二进制向量旋转到最小值

java - 如何在没有初始化和特定数量元素的情况下在 Kotlin 中创建对象数组?