javascript - Ramda 或 ES6 - 在过滤对象数组后返回对象属性的值

标签 javascript typescript ecmascript-6 ramda.js

如果对象的一个​​属性的值与常量匹配,我想返回另一个属性。

示例:

// The Array
[
 {name: "Name1", description: "Name1 Description", enabled: true},
 {name: "Name2", description: "Name2 Description", enabled: false},
 {name: "Name3", description: "Name3 Description", enabled: false}
]

// The Constant
enum constant {
  Name1 = 'Name1',
  Name2 = 'Name2',
  Name3 = 'Name3'
}

// What I want to return
// Value of enabled property, for the matching object

这是我写的代码:

const filterBasedOnToggle = (featureTogglesArray: IFeatureToggle[], featureToggle: Toggle): boolean[] => {
  return featureTogglesArray.filter((feature: IFeatureToggle) => feature.name === featureToggle).map(featureProperty => featureProperty.enabled);
};

正如您通过类型所看到的,返回的是 bool 值数组。我想返回纯值。有任何想法吗?谢谢!!

最佳答案

没有检查您的代码是否有效,但正如您所说,它返回一个 bool 数组,因此请尝试使用 array.find 来获取第一个匹配项。

  const MATCH = featureTogglesArray.find((feature: IFeatureToggle) => feature.name === featureToggle);
  return MATCH === undefined ? false : MATCH.enabled;

关于javascript - Ramda 或 ES6 - 在过滤对象数组后返回对象属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846268/

相关文章:

javascript - XML3D css 转换与自定义转换属性

javascript - 动态调整由 KineticJS 框架创建的 HTML5 Canvas 大小

visual-studio-2013 - typescript 构建失败

css - Angular Material如何对齐布局中心

javascript - typescript 同步方法调用

javascript - Strapi Beta (3.0) 的自定义 Controller 代码

javascript - 如何在javascript中获取隐藏元素的值

javascript - 将 CSS 链接到 flask 时出错

javascript - 在解构括号内赋值?

javascript - React.JS - 值未显示在动态渲染列表中