[英]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.