คำถามติดแท็ก foreach

foreach เป็นโครงสร้างวนรอบที่เรียกใช้งานโค้ดที่กำหนดสำหรับแต่ละองค์ประกอบในรายการ / คอลเลกชัน / อาร์เรย์ ในทางตรงกันข้ามกับ for for loop วง foreach ไม่จำเป็นต้องใช้ coder เพื่อรักษาตัวแปรตัวนับเพื่อหลีกเลี่ยงข้อผิดพลาดแบบ off-by-one (fencepost) ขอแนะนำให้ใช้เมื่อจำเป็นต้องใช้การวนซ้ำอย่างง่ายทั่วทั้ง array / list / collection .

21
การทำซ้ำครั้งล่าสุดของ Enhanced for loop ใน java
มีวิธีการตรวจสอบว่าการวนซ้ำเป็นครั้งสุดท้ายหรือไม่ รหัสของฉันมีลักษณะดังนี้: int[] array = {1, 2, 3...}; StringBuilder builder = new StringBuilder(); for(int i : array) { builder.append("" + i); if(!lastiteration) builder.append(","); } ตอนนี้สิ่งที่ฉันไม่ต้องการที่จะผนวกเครื่องหมายจุลภาคในการทำซ้ำครั้งล่าสุด ขณะนี้มีวิธีการตรวจสอบว่าเป็นซ้ำล่าสุดหรือฉันติดกับห่วงหรือใช้ตัวนับภายนอกเพื่อติดตาม

12
[] .forEach.call () ทำอะไรใน JavaScript
ฉันกำลังดูตัวอย่างโค้ดบางส่วนและฉันพบหลายองค์ประกอบที่เรียกใช้ฟังก์ชันผ่านรายการโหนดโดยใช้ forEach กับอาร์เรย์ว่าง ตัวอย่างเช่นฉันมีบางอย่างเช่น: [].forEach.call( document.querySelectorAll('a'), function(el) { // whatever with the current node }); แต่ฉันไม่เข้าใจว่ามันทำงานอย่างไร ใครช่วยอธิบายพฤติกรรมของอาร์เรย์ว่างด้านหน้า forEach และวิธีการcallทำงานได้บ้าง

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; } } …
136 php  foreach 

5
ประสิทธิภาพของ FOR vs FOREACH ใน PHP
ก่อนอื่นฉันเข้าใจใน 90% ของแอปพลิเคชันความแตกต่างของประสิทธิภาพนั้นไม่เกี่ยวข้องกันเลย แต่ฉันแค่ต้องรู้ว่าตัวไหนเร็วกว่า นั่นแล ... ข้อมูลที่มีอยู่บนอินเทอร์เน็ตในปัจจุบันทำให้เกิดความสับสน หลายคนบอกว่า foreach ไม่ดี แต่ในทางเทคนิคแล้วมันควรจะเร็วกว่าเพราะมันควรจะทำให้การเขียนการส่งผ่านอาร์เรย์ง่ายขึ้นโดยใช้ตัววนซ้ำ Iterators ซึ่งคาดว่าจะเร็วขึ้นอีกครั้ง แต่ใน PHP ก็เห็นได้ชัดว่าช้า (หรือนี่ไม่ใช่ PHP?) ฉันกำลังพูดถึงฟังก์ชั่นอาร์เรย์: next () prev () reset () เป็นต้นถ้าเป็นฟังก์ชั่นที่สม่ำเสมอและไม่ใช่หนึ่งในคุณสมบัติภาษา PHP ที่มีลักษณะเหมือนฟังก์ชัน เพื่อ จำกัด สิ่งนี้ให้แคบลงเล็กน้อย : ฉันไม่น่าสนใจในการสำรวจอาร์เรย์ในขั้นตอนที่มากกว่า 1 (ไม่มีขั้นตอนเชิงลบเช่นกันเช่นการวนซ้ำย้อนกลับ) ฉันยังไม่สนใจการลัดเลาะไปและกลับจากจุดใด ๆ โดยพลการเพียงแค่ 0 ถึงความยาว ฉันไม่เห็นการจัดการอาร์เรย์ที่มีมากกว่า 1,000 คีย์เกิดขึ้นเป็นประจำ แต่ฉันเห็นว่าอาร์เรย์ถูกข้ามผ่านหลายครั้งด้วยตรรกะของแอปพลิเคชัน! สำหรับการดำเนินการส่วนใหญ่เป็นเพียงการจัดการสตริงและการสะท้อนเท่านั้น เว็บไซต์อ้างอิงบางส่วนมีดังนี้: http://www.phpbench.com/ http://www.php.lt/benchmark/phpbench.php สิ่งที่ฉันได้ยินทุกที่: foreachช้าและทำให้for/ …


7
คุณจะลบองค์ประกอบอาร์เรย์ใน foreach loop ได้อย่างไร?
ฉันต้องการวนรอบอาร์เรย์ด้วยforeachเพื่อตรวจสอบว่ามีค่าอยู่หรือไม่ หากมีค่าอยู่ฉันต้องการลบองค์ประกอบที่มีอยู่ ฉันมีรหัสต่อไปนี้: foreach($display_related_tags as $tag_name) { if($tag_name == $found_tag['name']) { // Delete element } } ฉันไม่รู้วิธีลบองค์ประกอบเมื่อพบค่าแล้ว ฉันจะลบมันได้อย่างไร? ฉันต้องใช้foreachสำหรับปัญหานี้ อาจมีทางเลือกอื่นให้foreachและคุณสามารถแบ่งปันได้
127 php  arrays  loops  foreach 

11
ฉันจะกระโดดออกจาก foreach loop ใน C # ได้อย่างไร
ฉันจะแยกออกจากforeachลูปใน C # ได้อย่างไรหากองค์ประกอบใดองค์ประกอบหนึ่งตรงตามข้อกำหนด ตัวอย่างเช่น: foreach(string s in sList){ if(s.equals("ok")){ //jump foreach loop and return true } //no item equals to "ok" then return false }
125 c#  .net  foreach 

8
คำสั่ง LINQ เร็วกว่าลูป 'foreach' หรือไม่?
ฉันกำลังเขียนตัวจัดการ Mesh Rendering และคิดว่ามันเป็นความคิดที่ดีที่จะจัดกลุ่มตาข่ายทั้งหมดที่ใช้ shader เดียวกันแล้วแสดงผลสิ่งเหล่านี้ในขณะที่ฉันอยู่ใน shader pass นั้น ฉันกำลังใช้foreachลูปอยู่ แต่สงสัยว่าการใช้ LINQ อาจทำให้ฉันมีประสิทธิภาพเพิ่มขึ้นหรือไม่?
124 c#  performance  linq  foreach 

4
เหตุใด 'ดำเนินการต่อ' จึงมีพฤติกรรมเหมือน 'ทำลาย' ใน Foreach-Object?
ถ้าฉันทำสิ่งต่อไปนี้ในสคริปต์ PowerShell: $range = 1..100 ForEach ($_ in $range) { if ($_ % 7 -ne 0 ) { continue; } Write-Host "$($_) is a multiple of 7" } ฉันได้ผลลัพธ์ที่คาดหวังของ: 7 is a multiple of 7 14 is a multiple of 7 21 is a multiple of 7 28 is a …

9
"break" และ "ต่อ" ใน "forEach" ใน Kotlin
Kotlin มีฟังก์ชั่นการทำซ้ำที่ดีมากเช่นforEachหรือrepeatแต่ฉันไม่สามารถทำให้ตัวดำเนินการbreakและ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) } }
122 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, …

8
จะเก็บค่าจาก foreach loop ไปยังอาร์เรย์ได้อย่างไร?
ต้องการจัดเก็บค่าจาก foreach loop ลงในอาร์เรย์ต้องการความช่วยเหลือในการทำเช่นนั้น รหัสด้านล่างใช้งานไม่ได้เก็บเฉพาะค่าสุดท้ายพยายามแล้ว$items .= ...,แต่ไม่ได้ทำเคล็ดลับเช่นกันความช่วยเหลือใด ๆ จะได้รับการชื่นชม foreach($group_membership as $i => $username) { $items = array($username); } print_r($items);
115 php  foreach 

2
PHP - แก้ไขวัตถุปัจจุบันใน foreach loop
ฉันสงสัยว่าเป็นไปได้ไหมที่จะแก้ไขวัตถุปัจจุบันที่ถูกจัดการภายใน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
foreach loop ในเชิงมุม js
ฉันกำลังจะผ่านใน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.