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

从复杂对象中解构提取指定属性 能否通过嵌套解构一行实现

嵌套解构一行实现方案

你可以直接在map回调的入参位置对单个drink对象做解构,配合箭头函数隐式返回对象,整行实现需求:

// 如果你需要最终对象的属性名为id、name
const arrDrinks = (await [api request]).drinks.map(({ idDrink: id, strDrink: name }) => ({ id, name }))

如果不需要重命名属性,保留原接口返回的idDrink、strDrink作为属性名,写法可以更简单:

const arrDrinks = (await [api request]).drinks.map(({ idDrink, strDrink }) => ({ idDrink, strDrink }))

逻辑说明

  • 省略了单独解构返回对象取drinks的步骤,拿到接口响应后直接读取drinks属性调用map
  • map回调的入参位置直接对每个饮品对象做解构,按需取出idDrink和strDrink,支持自定义重命名属性
  • 箭头函数用小括号包裹对象字面量,实现隐式返回,无需写return和函数体大括号

补充说明:你之前给出的代码存在语法错误,对象字面量中不能直接写drinkObj.idDrink作为键,要么显式写id: drinkObj.idDrink形式的键值对,要么先把值取为变量后用对象简写语法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:36:03