javascript - 在一个对象中找到一个为真的键并且匹配数组中的条目

标签 javascript arrays object

我有一个这样的数组:

baseBreakpoints: [
    'xLarge',
    'large',
    'largeMedium',
    'medium',
    'smallMedium',
    'small',
    'xSmall'
]

……我有一个这样的对象:

breakpoints = {
    "gtMedium": true,
    "xLarge": true,
    "gtLargeMedium": true,
    "giant": false,
    "small": false,
    "ltLargeMedium": false,
    "gtLarge": true,
    "xSmall": false,
    "largeMedium": false,
    "medium": false,
    "gtSmall": true,
    "large": false,
    "smallMedium": false
}

我需要在对象中找到 true 并且存在于数组中的键。例如,在上面的示例中,该值将为 xLarge,因为 xLarge === true 在对象中并且存在于 breakpoints 数组中。

有什么建议吗?如果有帮助,Lodash 已经是项目的依赖项。

最佳答案

您可以通过查找断点 来过滤baseBreakpoints

var baseBreakpoints = ['xLarge', 'large', 'largeMedium', 'medium', 'smallMedium', 'small', 'xSmall'],
    breakpoints = { gtMedium: true, xLarge: true, gtLargeMedium: true, giant: false, small: false, ltLargeMedium: false, gtLarge: true, xSmall: false, largeMedium: false, medium: false, gtSmall: true, large: false, smallMedium: false },
    result = baseBreakpoints.filter(k => breakpoints[k]);
    
console.log(result);

ES5

var baseBreakpoints = ['xLarge', 'large', 'largeMedium', 'medium', 'smallMedium', 'small', 'xSmall'],
    breakpoints = { gtMedium: true, xLarge: true, gtLargeMedium: true, giant: false, small: false, ltLargeMedium: false, gtLarge: true, xSmall: false, largeMedium: false, medium: false, gtSmall: true, large: false, smallMedium: false },
    result = baseBreakpoints.filter(function (k) { return breakpoints[k]; });
    
console.log(result);

关于javascript - 在一个对象中找到一个为真的键并且匹配数组中的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47356490/

相关文章:

javascript - 如何在 Javascript React Native 中获取对象的子值总和?

javascript - jQuery .bind 绑定(bind)函数未触发

javascript - 点击更新功能

javascript - 对于不相关的模型字段, Angular react 形式抛出 "Cannot find control with name"

java - 数组中需要 = new String[] 吗?

php - 数组和子字符串 PHP

c - strcmp 或数组错误?

javascript - 在运行时为 ASP.NET 缩小动态生成的 javascript

php - empty() 在对象的非空属性上返回 TRUE

javascript - angular.forEach 和对象