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

如何在JavaScript中对含特殊字符键的嵌套对象解构并使用别名

正确的解构写法

你现有代码的错误主要有两点:

  1. 同一层级下重复声明_links属性会导致前面的解构内容被覆盖,所有_links下的子属性应该放在同一个_links解构块内
  2. 带特殊字符的键名+嵌套数组/对象的解构语法使用错误,别名和内部解构的结构顺序写反了

如果你只需要获取三个对应路径的href值,写法如下:

const {
  _links: {
    self: [{ href: mainMedia }],
    "wp:attachment": [{ href: attachment }],
    "wp:featuredmedia": [{ href: featuredMedia }]
  }
} = data;

如果你同时需要给wp:attachment、wp:featuredmedia对应的整个数组设置别名,写法如下:

const {
  _links: {
    self: [{ href: mainMedia }],
    "wp:attachment": attachmentMedia,
    "wp:attachment": [{ href: attachment }],
    "wp:featuredmedia": featuredMedia,
    "wp:featuredmedia": [{ href: featuredAttachment }]
  }
} = data;

可选优化

如果对应数组可能为空,或者数组内的对象不存在href属性,可以添加默认值避免运行时报错:

const {
  _links: {
    self: [{ href: mainMedia } = {}] = [],
    "wp:attachment": [{ href: attachment } = {}] = [],
    "wp:featuredmedia": [{ href: featuredMedia } = {}] = []
  }
} = data;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:45:05