Javascript 循环通过具有淘汰可观察属性的JS对象
我有以下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();
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对象存储在一个敲除可观察数组中,因此我必须检查循环是否在可观察数组中工作。现在正忙于其他事情,但我肯定会检查这一点,稍后在这里更新……这显然是他的意思。他当然不想迭代函数的属性(尽管这在技术上是可能的:函数也可以有属性)。