2017-02-26 53 views
0

我是新來的角的js,採用了棱角分明的js過濾方法

的填充數據我有以下的代碼,將數據綁定到div,

app.filter("myfilter", function() { 
return function (data, catName) { 
    if (angular.isArray(data) && angular.isString(catName)) { 

     var rs = []; 
     var key = {}; 
     for (var i = 0; i < data.length; i++) { 
      var currdata = data[i][catName]; 

      if (angular.isUndefined(key[currdata])) { 
       key[currdata] = true; 
       rs.push(currdata); 
      } 
     } 
     return rs; 
    } 
    else 
     return data; 

} 
}) 

但是,當我碰到的代碼上面我找到一行「key [currdata] = true;」 這段代碼是幹什麼的?

當我評論這個特定的行數據綁定沒有發生?

在此先感謝。

回答

2

這條線就像一個標記,以便在下一次迭代中條件「angular.isUndefined ...」爲false,並且以這種方式防止將重複值推送到rs數組中。

+0

真的很有幫助。謝謝! – 6017629