javascript - 如何从 Javascript 对象中删除所有 getter 和 setter 并保持纯值

标签 javascript ecmascript-6 javascript-objects setter getter

我正在使用一个名为 的库,它接受 JS 对象作为输入。不幸的是,我使用的 JSONP api 返回一个包含 getters 和 setters 的对象,这个特定的库不知道如何处理。

如何从对象中删除所有 getter 和 setter,同时保留属性值,这样我就有了一个普通的旧 JavaScript 对象?

最佳答案

针对这种特殊情况/环境/设置的解决方案可能看起来像这样......

var
  obj = JSON.parse(JSON.stringify(model));

console.log("obj before : ", obj);

Object.keys(obj).reduce(function (obj, key) {

  if (obj["_" +  key] === obj[key]) {
    delete obj["_" +  key];
  }
  return obj;

}, obj);

console.log("obj after : ", obj);

另请参阅... http://jsfiddle.net/w23uLttu/8/

关于javascript - 如何从 Javascript 对象中删除所有 getter 和 setter 并保持纯值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875871/

相关文章:

javascript - 将数据包装成对象形式

javascript - Node.js 'require' 语句中的大括号(大括号)

javascript - 无法使用 Android 版 Chrome 播放 blob-url 视频

javascript - 在 Vue 中有通用的方式来表示 "not interacted with yet"吗?

javascript - Base 10 到 Base 2 转换器

javascript - 将 addeventlistener 添加到节点列表

javascript - JS V8 编译器优化、单态多态、(密封)对象和类、OOP

javascript - 销毁免费墙实例

javascript - ES6 React 属性未定义

javascript - 如何在纯JS中通过包含元素顺序来对数组进行排序