You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何通过idMeal键值获取对象的其他属性值

实现方案

以下是两种常见场景下的实现方式,以JavaScript为例:

场景1:操作单个独立对象

如果只有单个目标对象,直接判断idMeal匹配后取对应属性即可:

const meal = {
  "idMeal": "52795",
  "strMeal": "Chicken Handi",
  "strDrinkAlternate": null,
  "strCategory": "Chicken",
  "strArea": "Indian"
}

const targetId = "52795"
// 匹配id后取属性
if (meal.idMeal === targetId) {
  const mealName = meal.strMeal
  const mealCategory = meal.strCategory
  console.log(mealName, mealCategory) // 输出:Chicken Handi Chicken
}

场景2:操作包含多个餐品的对象数组

如果是批量存储的餐品数组,先通过idMeal匹配到目标对象再取属性:

const mealList = [
  {
    "idMeal": "52795",
    "strMeal": "Chicken Handi",
    "strCategory": "Chicken",
    "strArea": "Indian"
  },
  // 其他餐品对象...
  {
    "idMeal": "52796",
    "strMeal": "Beef Curry",
    "strCategory": "Beef",
    "strArea": "Indian"
  }
]

const targetId = "52795"
// 查找匹配id的对象
const targetMeal = mealList.find(item => item.idMeal === targetId)
if (targetMeal) {
  // 可通过解构赋值批量取需要的属性
  const { strMeal, strCategory, strArea } = targetMeal
  console.log(strMeal, strCategory, strArea)
}

如果需要频繁通过id查询,建议先把数组转为以idMeal为键的映射表,查询效率更高:

// 生成映射表
const mealMap = mealList.reduce((map, item) => {
  map[item.idMeal] = item
  return map
}, {})

// 直接查表取值
const targetMeal = mealMap["52795"]
if (targetMeal) {
  console.log(targetMeal.strMeal, targetMeal.strCategory)
}

内容的提问来源于stack exchange,提问作者adamteddychang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:45:10