过滤对象数组的问题[关闭]

问题描述 投票:0回答:0

我有一个对象数组,其中的目标是获取数组中具有相同接收器的所有对象。

这是虚拟数据:

Array [
  Object {
    "data": Object {
      "expoPushToken": "ExponentPushToken[O81B9tHI4D1Ivdsds3W048Qg]",
      "receiver": "BgvUhZ9YKhY0gVkdWGJ46T3ZZ1i1",
      "sender": "BgvUhZ9YKhY0gVkdWGJ46T3ZZ1i1",
    },
  },
  Object {
    "data": Object {
      "expoPushToken": "ExponentPushToken[O81B9tHI4D1IvDsaa3W048Qg]",
      "receiver": "BgvUhZ9YKhY0gVsdWGJ46T3ZZ1i1",
      "sender": "UWkvBoMjzeNas8Dgs7Y2mL5Lg4Vy1",
    },
  }
]

我的代码:

const userSenderData = notificationsData.find(data => data.data.receiver === userUid);

出于某种奇怪的原因,

userSenderData
仅返回具有相同接收器的对象之一而不是 2,因为 2 具有相同的接收器 ID。

返回的对象:

  Object {
        "data": Object {
          "expoPushToken": "ExponentPushToken[O81B9tHI4D1Ivdsds3W048Qg]",
          "receiver": "BgvUhZ9YKhY0gVkdWGJ46T3ZZ1i1",
          "sender": "BgvUhZ9YKhY0gVkdWGJ46T3ZZ1i1",
        },
      },

代替:

 Object {
    "data": Object {
      "expoPushToken": "ExponentPushToken[O81B9tHI4D1Ivdsds3W048Qg]",
      "receiver": "BgvUhZ9YKhY0gVkdWGJ46T3ZZ1i1",
      "sender": "BgvUhZ9YKhY0gVkdWGJ46T3ZZ1i1",
    },
  },
  Object {
    "data": Object {
      "expoPushToken": "ExponentPushToken[O81B9tHI4D1IvDsaa3W048Qg]",
      "receiver": "BgvUhZ9YKhY0gVsdWGJ46T3ZZ1i1",
      "sender": "UWkvBoMjzeNas8Dgs7Y2mL5Lg4Vy1",
    },
  }
javascript
© www.soinside.com 2019 - 2024. All rights reserved.