2016-08-01 104 views
2

如何使用角度2方法重構此代碼?我在谷歌上找不到任何東西。

var tooltipsData = $.grep(tooltips, function (element, index) { 
    return (element.ProductCode == ProductCode); 
}); 
+0

我不知道Angular1。你想達到什麼目的? –

回答

3

看起來像什麼你真的想要做的是落實,如果沒有的jQuery(角2還僅僅是JavaScript的(或打字稿))。 如果你想實現它的JS,使用Array.filter function

var tooltipsData = tooltips.filter(function (element, index) { 
    return (element.ProductCode === ProductCode); 
}); 
+1

謝謝!這應該工作。我喜歡它在方法中使用JS bulit。 –

+0

可能是一個非問題,但認爲值得一提的是瀏覽器支持只能追溯到IE9的過濾功能。 – eatinasandwich

2

Angular1使用jQuery:

var tooltipsData = $.grep(tooltips, function (element, index) { 
     return (element.ProductCode == ProductCode); 
    }); 

Angular2:

this.tooltipsData = tooltips.forEach((element, index)=>{ 
    return (element.ProductCode == ProductCode); 
}); 

您還可以使用

this.tooltipsData = tooltips.filter((element, index) => { 
    return (element.ProductCode == ProductCode); 
}); 
+1

謝謝!我喜歡使用lambda函數。我仍然習慣他們。 –

+1

'forEach'總是返回undefined,因此以這種方式使用它並不能解決問題,因爲tooltipsData將始終是'undefined'。 –

+0

你一直未定義的含義是什麼? – micronyks

相關問題