self.previewApplicationsScreeningQuestions = ko.computed(function () {
return ko.utils.arrayMap(self.applications(), function (i) {
if (i.application.applicationKey == self.previewApplicationKey())
return i.application.applicantScreeningQuestionsAndResponses[0];
});
});
我声明了一个这样的视图模型。它的作用是,它基本上循环遍历“应用程序”视图模型,并在满足特定条件时返回其“applicantScreeningQuestionsAndResponses[0]”对象(在此问题中不重要)。
当我在控制台中检查结果时,它给了我。
[Object, undefined, undefined, undefined, undefined, undefined, undefined]
我只想删除所有未定义的索引,只在 viewModel 中留下一个 [Object]。我怎样才能解决这个问题?
编辑:
self.previewApplicationsScreeningQuestions = ko.computed(function () {
return ko.utils.arrayMap(self.applications(), function (i) {
if (i.application.applicationKey == self.previewApplicationKey())
var arr = i.application.applicantScreeningQuestionsAndResponses[0];
});
var newArr = new Array();
for (var i = 0; i < arr.length; i++) {
if (arr[i]) {
newArr.push(arr[i]);
}
}
return newArr;
});
这将返回所有“未定义”
你可以像下面这样写somting:
self.previewApplicationsScreeningQuestions = ko.computed(function () {
return ko.utils.arrayMap(self.applications(), function (i) {
if (i.application.applicationKey == self.previewApplicationKey() && i.application.applicantScreeningQuestionsAndResponses[0]!=undefined)
return i.application.applicantScreeningQuestionsAndResponses[0];
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句