[英]Filtering Nested Array of JSON using javascript (Airtable structure)
我不是 javascript 程序員,但我需要編寫一段 javascript 代碼(在 HTML 頁面中)以過濾從 API 調用獲取的 Airtable JSON 數組中的數據。 我對此進行了很多研究並嘗試了幾種選擇,但沒有一種對我有用。
我有一個基於 Airtable 的簡單基礎,包含以下數據:
"records": [
{
"id": "reck1GtJ3KfhW9zEO",
"fields": {
"highlight": true,
"price": 15,
"product_name": "product 1",
"prod_id": "G001"
},
"createdTime": "2021-09-21T20:01:42.000Z"
},
{
"id": "rec7NJh86AK1S9kyN",
"fields": {
"highlight": true,
"price": 50,
"product_name": "product 2",
"prod_id": "G002"
},
"createdTime": "2021-09-21T20:01:42.000Z"
},
{
"id": "rec5JdK6pbuzsvXA1",
"fields": {
"price": 20,
"product_name": "product 3",
"prod_id": "G003"
},
"createdTime": "2021-09-21T20:01:42.000Z"
},
{
"id": "recV39iR6tBzrmZ5s",
"fields": {
"price": 35,
"product_name": "product 4",
"prod_id": "G004"
},
"createdTime": "2021-09-21T20:01:42.000Z"
}
]
}
我的代碼如下:
(async() => {
URL= 'https://api.airtable.com/v0/*removed*';
let response = await fetch(URL, {headers:{ "Authorization":"Bearer *removed*"},});
result = await response.json();
// FILTERATION OPTION 1
//====================
const output_data = result.records.filter(d => d.product_name == "product 1");
console.log(result);
console.log(output_data);
})();
也試過這個,沒用
// FILTERATION OPTION 2
//====================
var output_data = result.records.filter(function (el) {
return
el.price == 35;
});
我想使用 prod_name 或 price 或任何字段組合(包括 id)過濾上面的數據。 非常感謝你的幫助。
嘗試這個:
result.records.filter(d => d.fields.product_name == "product 1");
它應該是filter(d => d.fields.product_name == "product 1")
。
因為您的product_name
鍵位於數組中每個節點的fields
object 內。
const result = {"records":[{"id":"reck1GtJ3KfhW9zEO","fields":{"highlight":true,"price":15,"product_name":"product 1","prod_id":"G001"},"createdTime":"2021-09-21T20:01:42.000Z"},{"id":"rec7NJh86AK1S9kyN","fields":{"highlight":true,"price":50,"product_name":"product 2","prod_id":"G002"},"createdTime":"2021-09-21T20:01:42.000Z"},{"id":"rec5JdK6pbuzsvXA1","fields":{"price":20,"product_name":"product 3","prod_id":"G003"},"createdTime":"2021-09-21T20:01:42.000Z"},{"id":"recV39iR6tBzrmZ5s","fields":{"price":35,"product_name":"product 4","prod_id":"G004"},"createdTime":"2021-09-21T20:01:42.000Z"}]}; console.log(result.records.filter(d => d.fields.product_name == "product 1"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.