タグ付けされた質問 「foreach」

foreachは、リスト/コレクション/配列の各要素に対して特定のコードを実行するループ構造です。forループとは対照的に、foreachループでは、コーダーがカウンター変数を維持してオフバイワン(フェンスポスト)バグを回避する必要はありません。配列/リスト/コレクション全体の単純な反復が必要な場合に使用することをお勧めします。

11
Python 3に「foreach」関数はありますか?
私は、JavaScriptでできる状況に出会ったとき、foreach関数があれば便利だといつも思っています。foreachとは、以下に説明する機能を意味します。 def foreach(fn,iterable): for x in iterable: fn(x) 彼らはすべての要素でそれを行うだけで、何かを生成したり返したりしませんでした、それは組み込み関数であり、純粋なPythonで書くよりも高速であるはずですが、リストに見つかりませんでした、またはそれは単に別の名前を呼んだのですか?それとも私はここでいくつかのポイントを逃していますか? 多分私は間違ったかもしれません、Pythonで関数を呼び出すのは高くつくので、間違いなくこの例では良い習慣ではありません。関数は、outループではなく、本体のループを実行する必要があります。これは、以下のようになり、Pythonの多くのコード提案ですでに言及されています。 def fn(*args): for x in args: dosomething しかし、私はforeachが2つの事実に基づいてまだ歓迎されていると思いました: 通常の場合、人々はパフォーマンスを気にしません APIが反復可能なオブジェクトを受け入れず、そのソースを書き換えることができない場合があります。

4
PHP foreachループキー値
多次元配列を取得するためにこのDB呼び出しを実行していますが、それぞれのキーを取得しようとしていますが、試行すると、空白または配列として表示されます。 $root_array = array(); $sites = $this->sites($member_id); foreach ($sites as $site){ $records = $this->db->select('p.name as place_name, p.id as place_id,p.active as place_status') ->from('places p') ->join('members_permissions pm','pm.sites_id = p.sites_id and pm.members_id ='.$member_id) ->where('p.active', 0) ->get(); $places = $records->result_array(); $places['name'] = $site['name']; foreach($places as $place){ $root_array[$site['name']][] = $place; } } return $root_array; ここにループする私のphpがあります: …
136 php  foreach 

12
JavaScriptで[] .forEach.call()は何をしますか?
コードスニペットをいくつか見ていたところ、空の配列にforEachが適用されたノードリストに対して関数を呼び出す複数の要素が見つかりました。 たとえば、私は次のようなものがあります: [].forEach.call( document.querySelectorAll('a'), function(el) { // whatever with the current node }); しかし、それがどのように機能するのか理解できません。誰かがforEachの前にある空の配列の動作と動作を説明できますcallか?

5
PHPでのFORとFOREACHのパフォーマンス
まず、アプリケーションの90%でパフォーマンスの違いはまったく無関係であることを理解していますが、どちらがより高速な構成であるかを知る必要があります。それと... 現在ネット上で入手できる情報は混乱を招きます。多くの人がforeachは悪いと言いますが、反復子を使用して配列トラバーサルの記述を単純化することを想定しているため、技術的にはより高速であるはずです。イテレータ。これも高速であると思われますが、PHPでも明らかに非常に遅いです(または、これはPHPのものではありませんか?)。配列関数について話しています。next()、prev()、reset()など、関数のように見えるPHP言語機能の1つではない場合でも、 これを少し絞り込むと、配列を1以上のステップでトラバースすることには興味がありません(負のステップもありません。つまり、反復を逆にします)。また、任意のポイントとの間のトラバーサルには興味がなく、長さは0です。また、1000個を超えるキーを持つ配列の操作が定期的に発生することはありませんが、アプリケーションのロジックで配列が複数回トラバースされるのがわかります。また、操作に関しては、主に文字列操作とエコーのみです。 ここにいくつかの参照サイトがあります: http : //www.phpbench.com/ http://www.php.lt/benchmark/phpbench.php 私がどこでも聞くもの: foreach遅いため、for/ whileが速い PHP foreachは反復する配列をコピーします。それをより速くするには、参照を使用する必要があります このようなコード:より高速です$key = array_keys($aHash); $size = sizeOf($key); for ($i=0; $i < $size; $i++)foreach これが私の問題です。私は次のテストスクリプトを作成しました:http : //pastebin.com/1ZgK07USそして、スクリプトを何度実行しても、次のような結果が得られます。 foreach 1.1438131332397 foreach (using reference) 1.2919359207153 for 1.4262869358063 foreach (hash table) 1.5696921348572 for (hash table) 2.4778981208801 要するに: foreachforeach参照よりも速い foreach より速い for foreachforハッシュテーブルよりも高速 …


7
foreachループで配列要素を削除するにはどうすればよいですか?
foreach値が存在するかどうかを確認するために配列をループしたいのですが。値が存在する場合は、それを含む要素を削除します。 私は次のコードを持っています: foreach($display_related_tags as $tag_name) { if($tag_name == $found_tag['name']) { // Delete element } } 値が見つかったら、要素を削除する方法がわかりません。どうすれば削除できますか? 私はforeachこの問題に使用しなければなりません。に代わるものはおそらくありforeach、それらを共有することを歓迎します。
127 php  arrays  loops  foreach 



8
LINQステートメントは「foreach」ループよりも高速ですか?
私はメッシュレンダリングマネージャーを作成していて、同じシェーダーを使用するすべてのメッシュをグループ化してから、そのシェーダーパスでこれらをレンダリングすることをお勧めします。 現在foreachループを使用していますが、LINQを使用するとパフォーマンスが向上するかどうか疑問に思いますか?
123 c#  performance  linq  foreach 

8
Kotlinの「forEach」の「break」と「continue」
Kotlinには、forEachまたはのような非常に優れた反復関数repeatがありますが、breakand continue演算子でそれらを操作することはできません(ローカルと非ローカルの両方)。 repeat(5) { break } (1..5).forEach { continue@forEach } 目標は、関数構文を通常のループにできるだけ近づけることです。一部の古いバージョンのKotlinではそれは間違いなく可能でしたが、構文を再現するのに苦労しています。 問題はラベル(M12)のバグかもしれませんが、最初の例はとにかく動作するはずです。 特別なトリック/注釈についてどこかで読んだようですが、この件に関する参照を見つけることができませんでした。次のようになります。 public inline fun repeat(times: Int, @loop body: (Int) -> Unit) { for (index in 0..times - 1) { body(index) } }
120 loops  foreach  lambda  kotlin 


12
JavaScript:.forEach()と.map()の違い
このような話題がたくさんあったことは知っています。そして、私は基本を知っています:.forEach()元のアレイと.map()新しいアレイで動作します。 私の場合: function practice (i){ return i+1; }; var a = [ -1, 0, 1, 2, 3, 4, 5 ]; var b = [ 0 ]; var c = [ 0 ]; console.log(a); b = a.forEach(practice); console.log("====="); console.log(a); console.log(b); c = a.map(practice); console.log("====="); console.log(a); console.log(c); そしてこれは出力されます: [ -1, 0, 1, …

8
foreachループの値を配列に格納する方法は?
foreachループの値を配列に格納する必要があり、それを行うための助けが必要です。 以下のコードは機能せず、最後の値を保存するだけで、試行されました$items .= ...,が、トリックも実行していません。助けていただければ幸いです。 foreach($group_membership as $i => $username) { $items = array($username); } print_r($items);
115 php  foreach 

2
PHP-foreachループで現在のオブジェクトを変更する
foreachループ内で処理されている現在のオブジェクトを編集できるかどうか疑問に思っていました 私はオブジェクトの配列を使用していて、$questions自分のデータベースでその質問オブジェクトに関連付けられている回答を調べて調べたいと思います。したがって、各質問に対して回答オブジェクトをフェッチし、ループ$question 内の現在のオブジェクトを更新して、foreach他の場所で出力/処理できるようにします。 foreach($questions as $question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
111 php  arrays  object  foreach 

5
angularjsのforeachループ
を通過していforEach loopましたAngularJS。わからなかった点が少ないです。 イテレータ関数の用途は何ですか?それなしで行く方法はありますか? 以下に示すように、キーと値の意味は何ですか? angular.forEach($scope.data, function(value, key){}); PS:引数なしでこの関数を実行しようとしましたが、機能しませんでした。 ここに私がありjsonます: [ { "Name": "Thomas", "Password": "thomasTheKing" }, { "Name": "Linda", "Password": "lindatheQueen" } ] 私のJavaScriptファイル: var app = angular.module('testModule', []); app.controller('testController', function($scope, $http){ $http.get('Data/info.json').then( function(data){ $scope.data = data; } ); angular.forEach($scope.data, function(value, key){ if(value.Password == "thomasTheKing") console.log("username is thomas"); }); }); …
110 angularjs  foreach 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.