首页 > 解决方案 > 如何使用 .filter() 方法过滤对象中的布尔值

问题描述

所以我想使用 .filter() 方法过滤这些对象,但我不知道如何正确地做到这一点。请帮帮我

    const male = [
        {'mike':true},
        {'james':true},
        {'katy':false},
        {'taylor':false}
    ].filter()

标签: javascriptfilter

解决方案


因为不知道对象键,所以Object.values()用来获取值数组,并使用第一个条目作为过滤器

const identifiesAsMale = [
  { 'mike': true },
  { 'james': true },
  { 'katy': false },
  { 'taylor': false }
].filter(o => Object.values(o)[0])

console.log(identifiesAsMale)

当然,这只有在每个对象都有一个具有布尔值的属性时才有效。


推荐阅读