Asp.net-Mvc-4

使用包含而不是 stringStartsWith 淘汰賽js

  • July 9, 2013

我的模型上有以下內容:

self.filteredItems = ko.computed(function () {
           var filter = this.filter().toLowerCase();

           if (!filter) {
               return this.sites();
           } else {
               return ko.utils.arrayFilter(this.sites(), function (item) {
                   return ko.utils.stringStartsWith(item.Name().toLowerCase(), filter);
               });
           }

       }, self);

我用它在我的頁面上進行搜尋,而不是 stringStartsWith 我想要某種 .contains ,所以我得到的結果是我的搜尋詞包含在字元串中的任何位置,而不是僅僅在開頭。

我想這一定是一個很常見的要求,但找不到任何明顯的東西。

有什麼建議嗎?

您可以簡單地使用該string.indexOf方法來檢查“字元串包含”:

self.filteredItems = ko.computed(function () {
   var filter = this.filter().toLowerCase();

   if (!filter) {
       return this.sites();
   } else {
       return ko.utils.arrayFilter(this.sites(), function (item) {
           return item.Name().toLowerCase().indexOf(filter) !== -1;
       });
   }

}, self);

引用自:https://stackoverflow.com/questions/17557789