0
self.previewApplicationsScreeningQuestions = ko.computed(function() {
return ko.utils.arrayMap(self.applications(), function (i) {
if (i.application.applicationKey == self.previewApplicationKey())
return i.application.applicantScreeningQuestionsAndResponses[0];
});
});
我宣布了这样一个viewModel。它所做的是,它基本上循环遍历“应用程序”视图模型,并在满足特定条件(在此问题中不重要)时返回其“申请人筛选问题和响应[0]”对象。如何删除Knockout可观察数组中的“未定义”索引?
当我在控制台检查这个结果时,它给了我。
[Object, undefined, undefined, undefined, undefined, undefined, undefined]
我只是想删除所有未定义的索引,只留下一个[Object]在viewModel。我怎样才能解决这个问题?
编辑:
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;
});
这将返回所有 '未定义'
的可能的复制[从在Javascript中的数组中删除空元素( https://stackoverflow.com/questions/281264/remove-empty-elements-from-an-array-in-javascript) –
我试过链接并在我的代码中实现,但它只是返回所有未定义的 – Dukakus17
您在更新代码之前返回newArr - c&p错误? –