angular.js - angular.forEach のループから抜け出す方法
滿天的星座
滿天的星座 2017-05-15 16:54:21
0
4
990

タイトルのように、angular.forEach を使用してループから抜け出すにはどうすればよいですか?

滿天的星座
滿天的星座

全員に返信(4)
大家讲道理

まず質問に答えさせてください:

forEach はループから抜け出すことができません。 forEach是不能跳出循环的。

在绝大多数编程语言中,foreach不仅仅是语法糖,通过编译优化它可以提供更好的性能,比如直接略去边界检查。为了能更好地做到这些优化,foreach在设计上也给出了制约。例如在C#中,迭代过程不允许更改容器本身(增删元素),不允许break(我们知道,所有的条件语句都会降低指令缓存和流水线的性能)。

Angular包装了一系列的原生JS方法,为的是能够更好地监听模型变化。这些JS方法的使用方式和原来基本没有区别。你说的forEach就是一个,还有$timeout

ほとんどのプログラミング言語では、foreach は単なる構文の糖衣ではなく、境界チェックを直接省略するなど、コンパイルの最適化を通じてパフォーマンスを向上させることができます。これらの最適化をより効果的に達成するために、foreach は設計制約も提供します。たとえば、C# では、反復プロセスではコンテナ自体への変更 (要素の追加または削除) が許可されず、ブレークも許可されません (すべての条件付きステートメントが命令キャッシュとパイプラインのパフォーマンスを低下させることがわかっています)。 #🎜🎜# #🎜🎜#Angular は、モデルの変更をより適切に監視するために、一連のネイティブ JS メソッドをラップします。これらの JS メソッドの使用方法は基本的に以前と同じです。あなたが言及した forEach は 1 つですが、$timeout などもあります。 Angular のデータ バインディング方法については、http://harttle.com/2015/06/06/angular-data-binding-and-digest.html#🎜🎜# を参照してください。
いいねを押す +0
Ty80

http://stackoverflow.com/a/13844508/2586541


リーリー
いいねを押す +0
仅有的幸福

Js ネイティブの forEach と jquery はそれぞれ次のようになり、true を返し、後続の操作を中断し、継続と同様に次の操作へのトラバースを続行します。 false を返し、break と同様にトラバース全体を終了します
Angular についてはよくわかりませんが、この種の糖衣構文は似ているはずです。

いいねを押す +0
世界只因有你

@harttle ループ内のデータが大きすぎる場合、パフォーマンスにはあまり影響しません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート