如何使用 Ramda 测试对象集中是否存在值

How to test if value is present in Set of objects with Ramda

我想知道如何查看特定值,在这种情况下,“/db/User/10”存在于一组对象中,这些对象是 return 从 [=21= 编辑的].

数据 return 从 API 编辑自 console.log(测试)

Set {
  Object {
    "UserData": "/db/UserData/509c404f-ffa1-49d3-a161-b9eb5b2ebb14",
    "UserDataPrivate": "/db/UserDataPrivate/26b7d879-4403-4135-ab44-b23e5244606b",
    "UserStatus": "/db/UserStatus/cb50eae0-e254-4d8c-915a-674fd314fff3",
    "createdAt": "2017-10-20T21:03:26.575Z",
    "id": "/db/User/68",
    "inactive": null,
    "updatedAt": "2017-10-20T23:34:12.179Z",
    "username": "15031111234",
    "version": 4,
  },
  Object {
    "UserData": "/db/UserData/a3dded63-4e0b-4841-b201-4c96dad1844d",
    "UserDataPrivate": "/db/UserDataPrivate/6037a718-e33f-4945-b2d0-ca4c11fa4f13",
    "UserStatus": null,
    "createdAt": "2017-09-21T18:26:31.089Z",
    "id": "/db/User/10",
    "inactive": false,
    "updatedAt": "2017-10-18T20:10:06.681Z",
    "username": "15038304313",
    "version": 19,
  },
}

var searchbyID = propEq('id', '/db/User/10');
result = filter(searchbyID, test);
console.log(result)

我认为这应该 return 正确,但它 return 是一个空数组。

这是 Ramda 的正确方法吗?

您需要将集合转换为数组。

var searchbyID = propEq('id', '/db/User/10');
result = filter(searchbyID, Array.from(test));
console.log(result)

它不会 return 正确,但匹配的对象。您可能需要 find