2017-01-30 8 views
0

私はknockout jsを使用して検索機能付きリストを作成しています。 console.logのJavascript配列長さ0の空でない配列

結果:あなたは、配列はおそらくその中の5つのオブジェクトを持っているが、その後プロトが持って見ることができるように

enter image description here

が0私は間違っているかもしれないものを理解していません。

var iniList = [ 
    new Spot("Park"), 
    new Spot("High School"), 
    new Spot("Soccer Stadium"), 
    new Spot("Railway Station"), 
    new Spot("Hospital") 
]; 


var viewModel = { 
    spots: ko.observableArray(iniList), 
    filter: ko.observable(''), 
    search: function(value) { 
     console.log(iniList); 

     viewModel.spots.removeAll(); 
     for (x = 0; x < iniList.length; x++) { 
      console.log("iniList[x]"); 
      if (iniList[x].name.toLowerCase().indexOf(value.toLowerCase()) >= 0) { 
       viewModel.spots.push(iniList[x]); 
      } 
     } 
    } 
}; 
+2

http://knockoutjs.com/documentation/observableArrays.htmlも参照してください。これらの関数はすべて、基になる配列**でネイティブJavaScript配列関数**を実行し、リスナーに変更についての通知を行うのと同じです。 – Ryan

+0

@squintはい、それは決してforループに入りませんので、私は理由を理解しようとしていました – MMrj

答えて

1

"viewModel.spots.removeAll();を実行しています。これにより、観測可能な配列のすべての要素が削除されます。

関連する問題