Questions tagged «foreach»

foreach是一个循环构造,为列表/集合/数组中的每个元素执行一段给定的代码。与for循环相比,foreach循环不需要编码器维护计数器变量来避免偏离1(fencepost)的bug。建议在需要对整个数组/列表/集合进行简单迭代时使用。

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仍然受欢迎: 通常情况下,人们只是不在乎性能 有时,API不接受可迭代对象,因此您无法重写其源代码。

4
PHP foreach循环键值
我正在运行此数据库调用以获取多维数组,我试图获取每个数组的键,但是当我尝试将其显示为空白或数组时。 $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循环遍历: …
135 php  foreach 

12
[] .forEach.call()在JavaScript中做什么?
我看着一些代码片段,发现多个元素在节点列表上调用了一个函数,并将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的步长遍历数组并不感兴趣(也没有负步长,即反向迭代)。我对遍历任意点(长度仅为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 简而言之: foreach比foreach参考更快 foreach 比 for foreach比for散列表快 …


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 

11
如何跳出C#中的foreach循环?
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 }
124 c#  .net  foreach 

8
LINQ语句比“ foreach”循环快吗?
我正在编写一个“网格渲染”管理器,并认为最好将所有使用同一着色器的网格进行分组,然后在我通过该着色器通道时进行渲染。 我目前正在使用foreach循环,但想知道使用LINQ是否可以提高性能?
124 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) } }
119 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 

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 

2
PHP-在foreach循环中修改当前对象
我想知道是否可以编辑foreach循环中正在处理的当前对象 我正在处理一系列对象$questions,我想遍历数据库中查找与该问题对象相关的答案。因此,对于每一个问题去获取答案对象,并更新当前$question 里面我的foreach循环,这样我可以输出/别处过程。 foreach($questions as $question){ $question['answers'] = $answers_model->get_answers_by_question_id($question['question_id']); }
110 php  arrays  object  foreach 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.