簡體   English   中英

如何從 ID 中獲取 object 的名稱

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM