我试图拥有一个接受这样的字段的对象:
var User = function(params) {
if(params){
this.id = params.id;
this.name = params.name;
..
}
}
- 如果是模型中字段的属性,则会设置它们
- 如果它与模型不匹配,则不会包含在模型中
- 如果该属性不存在,则不会设置它
所以如果你这样做:
var data = {
id: 123,
foo: 'bar'
};
var user = new User(data);
JSON.stringify(user); // { id: 123 }
最简单的方法是什么?我只能想到为每个属性做一个条件。
最佳答案
function (params) {
var properties = ['id', 'name', ..];
for (var i = 0, length = properties.length; i < length; i++) {
var property = properties[i];
if (params[property]) {
this[property] = params[property];
}
}
}
关于javascript - 如何仅传入属性来实例化 JavaScript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30581070/