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

能否用解构赋值处理对象数组?如何一行提取对象子集字段?

解构对象数组的简洁写法

给定初始代码:

const db = {players: [{elo:3}, {elo:4}]}

常规数组解构可以拿到整个玩家对象:

const [white, black] = db.players

如果只想提取elo字段,可以这样写:

const [{elo:elo1}, {elo:elo2}] = db.players

你尝试的两种写法都存在语法问题:

// 语法错误,不符合解构语法规则
const [white:{elo}, black:{elo}] = db.players
// 语法错误,解构逻辑颠倒
const [{elo}:white, {elo}:black] = db.players

可行的简洁写法

可以在一行代码内同时拿到完整对象和指定字段,利用对象扩展运算符结合解构实现:

const [{ ...white, elo: elo1 }, { ...black, elo: elo2 }] = db.players

执行后:

  • white 等于 {elo:3},elo1 等于 3
  • black 等于 {elo:4},elo2 等于 4

这种写法通过...white将当前数组元素的所有属性赋值给white,同时单独提取elo字段并重命名为elo1,一行代码就完成了两种需求的解构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:10:13