2016-08-01 10 views
2

角度2の方法を使用してこのコードをどのようにリファクタリングできますか?私はGoogleで何かを見つけることができませんでした。

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

私は知らないAngular1。あなたは何を達成しようとしていますか? –

答えて

3

あなたが本当にやろうとしていることのjQueryなし(角2)はまだただのJavaScript(または活字体である)ことを実装しているように見えます。 あなたはJSでそれを実装しようとしている場合は、jQueryを使ってArray.filter function

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

ありがとう!これはうまくいくはずです。私はそれが方法でJS bulitを使用するのが好きです。 –

+0

問題ではないかもしれませんが、ブラウザのサポートに言及する価値があると思ったのは、フィルタ機能のIE9にしか戻っていません。 – eatinasandwich

2

Angular1使用:

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

ありがとう!私はラムダ関数の使用が好きです。私はまだ彼らに慣れています。 –

+1

'forEach'は常に未定義を返します。したがって、その方法で問題を解決することはできません。ツールチップデータは常に「未定義」です。 –

+0

常に未定義とはどういう意味ですか? – micronyks

関連する問題