我正在嘗試找到使用特定鍵的字串過濾我的物件陣列的最佳方法。我要做的是瀏覽資料并找到其中包含 String Blue 的物件鍵型別。這是我的資料:
[
{
"data": [
{}
],
"Name": "1",
"Type": "Blue"
},
{
"data": [
{}
],
"Name": "2",
"Type": "Red"
},
{
"data": [
{}
],
"Name": "3",
"Type": "Blue"
}
]
基本上我想要實作的是獲取僅包含“型別”:“藍色”的物件。
uj5u.com熱心網友回復:
您可以使用過濾器方法。請參閱下面的代碼片段,以及 MDN 中對該方法的定義:
該
filter()方法創建一個新陣列,其中包含通過所提供函式實作的測驗的所有元素。
const data = [
{
data: [{}],
Name: "1",
Type: "Blue"
},
{
data: [{}],
Name: "2",
Type: "Red"
},
{
data: [{}],
Name: "3",
Type: "Blue"
}
];
const filteredData = data.filter((item) => item.Type === "Blue");
console.log(filteredData);
uj5u.com熱心網友回復:
您可以使用Array.prototype.filter()方法。
arr.filter(obj => obj.Type == 'Blue');
將為您提供僅包含藍色型別的物件的陣列。
uj5u.com熱心網友回復:
如果我正確理解了您的要求,您有一個字串"Type: Blue",并且基于此字串,您必須根據keyas Type 和valueas Blue 動態過濾掉資料陣列。如果是,給你:
const str = "Type: Blue";
const splittedStr = str.split(':');
const data = [
{
Name: "1",
Type: "Blue"
},
{
Name: "2",
Type: "Red"
},
{
Name: "3",
Type: "Blue"
}
];
const filteredData = data.filter((item) => item[splittedStr[0]] === splittedStr[1].trim());
console.log(filteredData);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/487932.html
標籤:javascript
上一篇:函式結束時如何重置變數值?
