【问题标题】:es6 object destructuring, assign into new object [duplicate]es6对象解构,分配给新对象[重复]
【发布时间】:2018-04-12 21:09:12
【问题描述】:

这里是 es6 的新手。有没有办法用 es6 特性缩短这段代码?我正在尝试从一个对象中解构并将这些拉取的属性放入一个新对象中。

    const { Height, Width, Location, MapAttachmentTypes, 
ZoomLevelAdjustment, CustomPushPins, CenterPushpinStyle, ScaleFactor } = args;
        const body = {
          Height,
          Width,
          Location,
          MapAttachmentTypes,
          ZoomLevelAdjustment,
          CustomPushPins,
          CenterPushpinStyle,
          ScaleFactor
        };

我试过了,但没用:

const  body = { Height, Width, Location, MapAttachmentTypes, ZoomLevelAdjustment, CustomPushPins, CenterPushpinStyle, ScaleFactor } = args;

【问题讨论】:

  • 认为这已经被问过至少几次了;你彻底search了吗? (不是我的 dv)
  • “没用”是什么意思?
  • 您的args 对象是什么样的?它会像你预期的那样解构吗?
  • 您是在尝试将属性作为新属性实际拉入body 或引用args 的相关道具吗?

标签: javascript ecmascript-6 object-destruction


【解决方案1】:
    // new syntax
    const body = {
        ...args
    };
    // es5
    const body = Object.assign({}, args);

【讨论】:

  • 这将复制args所有属性,而不仅仅是选定的属性。
  • 这将返回来自args 的所有内容,而不仅仅是指定的键。
  • 确实,如果不需要,问题中的第一个示例就可以解决问题。
  • 扩展属性不是 ES6 的一部分,Object.assign 不是 ES5 的一部分。
  • @FelixKling:细节,细节...... ;-)
猜你喜欢
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
  • 2020-12-20
  • 1970-01-01
  • 2018-04-21
  • 2019-05-06
  • 2021-09-09
  • 1970-01-01
相关资源
最近更新 更多