Фильтрация данных по идентификатору - PullRequest
0 голосов
/ 12 апреля 2019
    [
      {
        "acronym": "VMF",
        "defaultValue": "Video & Audio Management Function",
        "description": "This is defined as the Video and/or Audio Management functionality that can be performed on a Digital Item. The Video & Audio Management functions that will exist on the HDEM platform are as follows:\n· CLIP\n· REDACT\n· THUMBNAIL\n· STILL IMAGE\n· AMALGAMATION",
        "id": "5caddba33a87fd7fa5ee601c",
        "name": "Video & Audio Management Function",
        "updatedBy": " ",
        "updatedDate": "2019-04-07T00:00:00Z"
      },
      {
        "acronym": "",
        "defaultValue": "Url Downloadable",
        "description": "Admin configurable header to denote whether the Digital Item/Data within a URL either via Prosecution Readiness or Assign Digital Data can be downloaded.",
        "id": "5caddba33a87fd7fa5ee6098",
        "name": "Url Downloadable",
        "updatedBy": " ",
        "updatedDate": "2019-04-07T00:00:00Z"
      }]

У меня есть этот образец JSON, и я хочу, чтобы данные, связанные с одним идентификатором, как мне получить это в реакции

InfoDescription:_.filter(response, (i) => { return i.id === "passing id here"})

Используя это, но не работает

Ответы [ 3 ]

2 голосов
/ 12 апреля 2019

вы можете попробовать вот так

let dataToBeFilter=[
  {
    "acronym": "VMF",
    "defaultValue": "Video & Audio Management Function",
    "description": "This is defined as the Video and/or Audio Management functionality that can be performed on a Digital Item. The Video & Audio Management functions that will exist on the HDEM platform are as follows:\n· CLIP\n· REDACT\n· THUMBNAIL\n· STILL IMAGE\n· AMALGAMATION",
    "id": "5caddba33a87fd7fa5ee601c",
    "name": "Video & Audio Management Function",
    "updatedBy": " ",
    "updatedDate": "2019-04-07T00:00:00Z"
  },
  {
    "acronym": "",
    "defaultValue": "Url Downloadable",
    "description": "Admin configurable header to denote whether the Digital Item/Data within a URL either via Prosecution Readiness or Assign Digital Data can be downloaded.",
    "id": "5caddba33a87fd7fa5ee6098",
    "name": "Url Downloadable",
    "updatedBy": " ",
    "updatedDate": "2019-04-07T00:00:00Z"
  }]



let filteredData=dataToBeFilter.filter(obj=>obj.id=="5caddba33a87fd7fa5ee6098")

console.log(filteredData)

  
0 голосов
/ 12 апреля 2019

Синтаксическая ошибка в использовании вашей функции фильтра.Первый параметр должен быть функцией, которая возвращает логическое значение, определяющее, должен ли элемент быть включен в новый возвращенный массив.

0 голосов
/ 12 апреля 2019

Я не пользуюсь lodash.

Если бы вы просто искали один конкретный идентификатор в массиве, я бы сделал это, используя собственный метод find, подобный этому. Если вы хотите получить несколько, замените find на filter.

const getById = arr => id => arr.find(x => x.id === id)
...