[英]how to get the name of an object from an ID
如何使用 id 從數組(例如下面的數組)中獲取項目的名稱? 我嘗試在 javascript 中使用.find function 但它返回未定義的響應。
{
"products": [
{
"name": "Blue T-Shirt",
"price": 25.99,
"description": "A lovely t-shirt.",
"image": "tshirt.png",
"id": 1
},
{
"name": "Beige",
"price": 16.49,
"description": "Some nice beige pants.",
"image": "pants.png",
"id": 2
},
{
"name": "Ugly Shirt",
"price": 27.99,
"description": "An ugly, gag-gift shirt.",
"image": "shirt.png",
"id": 3
}
]
}
這就是我找到它的方式:
var slug = req.params.product;
var item = products.find(products => products.id === slug).name;
console.log(item);
提前致謝!
在products
數組上使用.find()
:
const data = {"products": [{"name": "Blue T-Shirt", "price": 25.99, "description": "A lovely t-shirt.", "image": "tshirt.png", "id": 1 }, {"name": "Beige", "price": 16.49, "description": "Some nice beige pants.", "image": "pants.png", "id": 2 }, {"name": "Ugly Shirt", "price": 27.99, "description": "An ugly, gag-gift shirt.", "image": "shirt.png", "id": 3 } ] }; const idToFind = 3; const item = data.products.find((p) => p.id === idToFind); console.log(item);
{
"name": "Ugly Shirt",
"price": 27.99,
"description": "An ugly, gag-gift shirt.",
"image": "shirt.png",
"id": 3
}
如果您希望“找到”包含多個對象的數組,請查看.filter
。
const data = {"products": [{"name": "Blue T-Shirt", "price": 25.99, "description": "A lovely t-shirt.", "image": "tshirt.png", "id": 1 }, {"name": "Beige", "price": 16.49, "description": "Some nice beige pants.", "image": "pants.png", "id": 2 }, {"name": "Ugly Shirt", "price": 27.99, "description": "An ugly, gag-gift shirt.", "image": "shirt.png", "id": 3 } ] }; const idsToFind = [ 2, 3 ]; const item = data.products.filter((p) => idsToFind.includes(p.id)); console.log(item);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.