You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中对象数据过滤问题:筛选is_family_member为false的数据返回空值的解决方案

问题分析与解决方案

你遇到的问题根源是类型不匹配:从后端返回的JSON里,is_family_member是布尔类型(true/false),但你的筛选代码里却用了字符串'false'去做全等比较(===),布尔值和字符串永远不会相等,所以筛选结果为空。

正确的筛选写法

你可以用以下两种方式之一来正确筛选出is_family_member为false的数据:

  1. 直接比较布尔值false:
this.personmembertrue = this.persons.filter(x => x.is_family_member === false);
  1. 利用逻辑非运算符(更简洁):
this.personmembertrue = this.persons.filter(x => !x.is_family_member);

额外提示

如果担心后端返回的数据可能存在类型不一致(比如偶尔返回字符串形式的"true"/"false"),可以做一个兼容处理:

this.personmembertrue = this.persons.filter(x => 
  String(x.is_family_member).toLowerCase() === 'false'
);

不过从你提供的JSON结构来看,后端返回的是标准布尔值,所以第一种或第二种写法就足够了。

内容的提问来源于stack exchange,提问作者A. B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:59:07