【问题标题】:using array.filter method how can i check a value from the object of the array and return different value from the same object of the array?使用 array.filter 方法我如何检查数组对象中的值并从数组的同一对象返回不同的值?
【发布时间】: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


【解决方案1】:

首先使用 Array.filter 过滤数据,然后使用 Array.map 更改数据。

[1,2,3].filter(x => x > 1).map(x => x * 10)

文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

【讨论】:

    猜你喜欢
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    相关资源
    最近更新 更多