【发布时间】:2014-08-07 05:06:25
【问题描述】:
我有以下 JS 对象:
function AdvancedFilters() {
var self = this;
self.AdvancedColId = ko.observable();
self.AdvancedComapanyName = ko.observable();
self.AdvancedClientCountry = ko.observable();
self.AdvancedClientCity = ko.observable();
self.AdvancedDatabaseLocation = ko.observable();
self.AdvancedUserName = ko.observable();
self.AdvancedEmail = ko.observable();
self.AdvancedPhoneNo = ko.observable();
self.AdvancedAccessFrom = ko.observable();
self.AdvancedAccessTo = ko.observable();
self.AdvancedCreatedOn = ko.observable();
self.AdvancedCandidates = ko.observable();
self.AdvancedErrorsReported = ko.observable();
self.AdvancedActive = ko.observable();
self.AdvancedRequestes = ko.observable();
}
我必须遍历AdvancedFilters 对象中存在的所有属性,并执行适用于所有属性的操作,而不是分别访问每个属性。我必须这样做:
for (var property in AdvancedFilters) {
// do something with property
}
我尝试了上面的语法,但它不起作用。
【问题讨论】:
-
您必须在实例上工作:
var obj = new AdvancedFilters(); for (var prop in obj) {} -
是for循环在函数上工作吗?你真的试过了吗?
-
@Akhlesh 循环正在工作,但我使用
new关键字将 JS 对象存储在可淘汰的可观察数组中,因此我必须检查循环是否适用于可观察数组。现在忙于其他事情,但我一定会检查这个并稍后在这里更新......
标签: javascript knockout.js javascript-objects