【问题标题】:Translating literal object into object's properties [duplicate]将文字对象转换为对象的属性[重复]
【发布时间】:2014-11-12 22:07:07
【问题描述】:

给定这个对象:

var myObject = {name: 'David', date: '11/13/2014'};

我希望我的构造函数根据 myObject 设置它的对象属性:

function myClass(_object){
    // set given object's properties here
}

我想通过循环设置属性,所以我不必手动设置每个属性 - 因为对象将是动态的。

我正在寻找一个跨浏览器的解决方案。

【问题讨论】:

  • this.name = _object.name || "Joe";
  • 哦,你有什么问题?
  • @Jonathan 这很明显,很抱歉我没有提到但是对象可能是动态的,所以我不会设置每个属性。我想要某种循环来完成它。

标签: javascript


【解决方案1】:

也许你想要的是这样的:

function MyClass(_object) {
  for (var p in _object) {
    if (_object.hasOwnProperty(p)) {
      this[p] = _object[p];
    }
  }
}

别忘了使用new

var obj = new MyClass(myObject);

Fiddle

【讨论】:

  • 是的。谢谢,这就是我要找的。​​span>
猜你喜欢
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 2014-07-05
  • 2016-08-30
  • 2013-07-26
  • 2015-01-02
相关资源
最近更新 更多