首页 > 解决方案 > 基于值的字符串对象键

问题描述

晚上好,

在 React 状态中,我有以下对象: ... .modals{search: true, social: false, menu: true, login: false}

布尔值根据某些模态是否处于活动状态而变化。我想提取基于的活动模式true并将它们返回到data-modal我的反应组件中的属性中 - 这样我就可以将它们用于条件 CSS。

例如,上面的结果是data-modal="search menu". 换句话说,那些具有正值的键被添加到字符串中。

我玩过一些东西;join、map、foreach 等,但找不到有效的组合。

任何帮助,将不胜感激。

标签: javascriptreactjsobject

解决方案


const properties = {search: true, social: false, menu: true, login: false};

const whatYouNeed = Object.keys(properties).reduce((acc,val) =>acc + (properties[val]? `${val} ` : '') ,'').trim();

console.log(whatYouNeed);


推荐阅读