[英]KnockoutJS ArrayFirst doesn't work as expected
我已經在這里嘗試了解決方案:
但是對我來說沒有任何用。 我正在檢查可觀察數組中是否已經存在一項
ko.utils.arrayForEach(self.Summary(), function (item) {
var match = ko.utils.arrayFirst(self.filteredSummary(), function (a) {
return a.Sku == item.Sku()
});
if (!match) {
// Do push
}
});
難道我做錯了什么? 即使調試后,它始終會返回null,即使它建立了一個匹配項。
檢查語句
return item.Sku() === a.Sku()
===:等於值和等於類型,==:等於,
https://www.w3schools.com/js/js_operators.asp
在您的情況下,兩個摘要對象的值和類型必須相等。
好,試試這個
ko.utils.arrayForEach(self.Summary(), function (item) {
var match = ko.utils.arrayFirst(self.filteredSummary(), function (a) {
return a.Sku() == item.Sku();
});
if (!match) {
// Do push
}
});
如果這有效,那么問題是a.SKu是可觀察的,而您沒有對其進行評估! 閱讀我對您的原始問題的評論
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.