Javascript 循环通过具有淘汰可观察属性的JS对象

Javascript 循环通过具有淘汰可观察属性的JS对象,javascript,knockout.js,javascript-objects,Javascript,Knockout.js,Javascript Objects,我有以下JS对象: function AdvancedFilters() { var self = this; self.AdvancedColId = ko.observable(); self.AdvancedComapanyName = ko.observable(); self.AdvancedClientCountry = ko.observable(); self.AdvancedClientCity = ko.observable();

我有以下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     
}
我尝试了上面的语法,但不起作用。

试试这个

function AdvancedFilters() {
    var self = this;
    self.AdvancedColId = ko.observable();
    //...
}

var obj = new AdvancedFilters();
for (var property in obj) {         
    alert(ko.isObservable(obj[property]) ? obj[property]() : property);
}

您必须在实例上处理的可能副本:
var obj=new AdvancedFilters();for(obj中的var prop){}
for循环是否在函数上工作?你真的试过了吗?@Akhlesh循环正在工作,但我正在使用
new
关键字将JS对象存储在一个敲除可观察数组中,因此我必须检查循环是否在可观察数组中工作。现在正忙于其他事情,但我肯定会检查这一点,稍后在这里更新……这显然是他的意思。他当然不想迭代函数的属性(尽管这在技术上是可能的:函数也可以有属性)。