【发布时间】:2021-10-07 05:11:42
【问题描述】:
在代码中,我从 observable 中获取一个对象数组,并且我想检查该数组的对象中的值,如果满足条件,则从同一对象返回不同的值。我该怎么做?
代码如下:
addresses$ = this.addressData$.pipe(map((addressData)=>{
addressData.filter((data)=> {data.deviceType === 1})
}));
数据对象来了
data : {
deviceType: 1,
value: "1911 Ralph st, CA - 900099",
unit: 11
}
我想检查 deviceType 是否为 1,然后将值“1911 Ralph st, CA - 900099”返回给 addresses$。我想使用过滤器方法来做到这一点。
【问题讨论】:
-
如果
filter条件不满足会怎样? -
filter只接受一个数组,并从该数组中删除任何不会导致过滤器函数返回 true 的元素。它与“返回值”无关,而是完全相反:它删除值。 -
如果 deviceType 不是 1 那么呢?
-
如果你想得到一个只包含 == 1 类型地址的数组,只需从过滤器开始,然后只映射值..
-
@krunal 你几乎就在那个条件下,只需返回你想要的新对象
标签: javascript arrays angular filter observable