如何根据反应本机中的条件从 json 字符串中选择一个对象

how to pick an object from json string based on a condition in react native

我有一大堆 json 格式的客户数据,需要根据条件显示客户详细信息,例如status='active'id=1003 等 如何在 React Native 中做到这一点

示例客户列表

"data": {
  "items": [{
      "id": 1001,
      "name": "CName1",
      "address": "New Street 1",
      "phone": null,
      "status": "active"
    },
    {
      "id": 1002,
      "name": "CName2",
      "address": "New Street 2",
      "phone": null,
      "status": "deleted"
    },
    {
      "id": 1003,
      "name": "CName3",
      "address": "New Street 3",
      "phone": null,
      "status": "active"
    },
    {
      "id": 1004,
      "name": "CName4",
      "address": "New Street 4",
      "phone": null,
      "status": "suspended"
    }
  ]
}

如何列出此列表中的所有 'active' 个客户端或在 react native

中列出客户端 ID 1003 的详细信息

这与本机反应无关。如果你想从数组中过滤项目,你可以使用 .filter().

例如,要根据 status 进行过滤,您可以这样做:

data.items.filter(item => item.status === 'active')

如果您想查找特定项目(例如,基于 id,因此只会过滤一个结果),您可以使用 .find()

data.items.find(item => item.id === 1001)

实例:

const data = {
  "items": [{
      "id": 1001,
      "name": "CName1",
      "address": "New Street 1",
      "phone": null,
      "status": "active"
    },
    {
      "id": 1002,
      "name": "CName2",
      "address": "New Street 2",
      "phone": null,
      "status": "deleted"
    },
    {
      "id": 1003,
      "name": "CName3",
      "address": "New Street 3",
      "phone": null,
      "status": "active"
    },
    {
      "id": 1004,
      "name": "CName4",
      "address": "New Street 4",
      "phone": null,
      "status": "suspended"
    }
  ]
}

const filtered = data.items.filter(item => item.status === 'active')
console.log(filtered);

这里可以使用过滤方法。

const statusActiveArr = data.items.filter(item => item.status === 'active');

const specificIdClient = data.items.filter(item => item.id === 1003)[0];