這是我的資料:
{
"tester": [
{
"title": "test1",
"id": "1",
"description": "abcdefg",
"photos": ["1.jpg", "2.jpg"],
"tags": ["Sample", "Help", "OMG", "Assignment", "Bug"]
},
我現在的解決方案,但它無法搜索標簽陣列中的每個字母:
const fliterdata = trips.filter((filter) => {
if (searchTerm === '') {
return filter;
} else {
return filter.title.toLowerCase() && //search word in title
filter.description.toLowerCase() && //search word in description
filter.tags.map((tag, index) => filter.tags[index].toLowerCase()).includes(searchTerm); //search each letter in the tags array
}
});
uj5u.com熱心網友回復:
你忘了實際比較字串。您可以通過將所有值組合到一個陣列中來優雅地做到這一點,如下所示:
const searchTermLowercased = searchTerm.toLowerCase();
const filterdata = searchTerm === '' ? trips : trips.filter(
({ title, description, tags }) => [title, description, ...tags].some(
value => value.toLowerCase().includes(searchTermLowercased)
)
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/519799.html
上一篇:在回圈中每回合更改玩家類別
