簡體   English   中英

如何根據 React,ES6 中對象數組的搜索輸入過濾數據

[英]How do I filter the data based on search input from array of objects in React, ES6

我有來自 API 的 JSON 數據模式,方法如下。 我能夠使用body鍵過濾數據。 我正在嘗試實現搜索功能,該功能應該搜索所有對象數組,而不考慮基於用戶輸入的key 有人可以指導如何實現這一目標。 我嘗試使用嵌套的 for 循環來獲取單個密鑰,但不是運氣。

[
  {
    "postId": 1,
    "id": 1,
    "name": "id labore ex et quam laborum",
    "email": "Eliseo@gardner.biz",
    "body": "laudantium enim quasi est quidem magnccusantium"
  },
  {
    "postId": 1,
    "id": 2,
    "name": "quo vero reiciendis velit similique earum",
    "email": "Jayne_Kuhic@sydney.com",
    "body": "est natus enim nihil est dolore is et"
  }
  ...
]

我目前正在使用的基於鍵的搜索邏輯

const filteredData = data.filter(item =>
      item.body.includes(searchTerm.value)
    );
    this.setState({ filteredData: filteredData });

我使用Sandbox創建了一個工作示例。 誰能指導如何從整個對象數組中獲得搜索結果?

嘗試這個:

const filteredData = data.filter(item => Object.values(item).some(val => val.toString().includes(searchTerm.value)));

item => { Let foundMatchedKey = item.keys.find(key => item[key].includes(searchTearm.value) If(foundMatchedKey) { return true} else { return false } }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM