我的数组中只有几个对象,我想将一些 Prop 从工厂添加到类型为日期的对象。
我不需要从此对象中删除旧值。我尝试这样做:
angular.forEach($scope.things, function(item) {
if(item.type === 'date') {
item = DateFactory.prototype.createFactory();
}
})
但是不行,我哪里错了? Plunker example
最佳答案
更改 forEach
中的 item
不会改变该 item。您需要使用 obj[key]
来代替:
angular.forEach($scope.things, function(item, key, obj) {
if(item.type === 'date') {
obj[key] = DateFactory.prototype.createFactory();
}
})
已更新plunker
此外,您应该从工厂返回日期对象的实例:
return new date();
..然后调用该方法:
obj[key] = DateFactory.createFactory()
关于javascript - 如何向现有对象添加原型(prototype)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39326889/