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錯誤? –