foreach 相关问题

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

Flutter Dart - Foreach 行为此处不清楚

颤振版本:1.89+ 我有一个自定义函数,如下所示: Future> getPrevChats() 异步 { 列表 vList = []; 最终直播 颤振版本:1.89+ 我有一个自定义函数如下: Future<List<CustomListItems>> getPrevChats() async { List<CustomListItems> vList = []; final Stream<QuerySnapshot<Map<String, dynamic>>> chatsRef = FirebaseFirestore.instance.collection("AT").snapshots(); chatsRef.forEach((data) { for (var doc in data.docs) { vList.add(CustomListItems(doc.data()['message'], doc.data()['author'])); } int i = vList.length; print("Inside loop count : $i"); }); int i = vList.length; print("Final : $i"); return vList; } 为了测试值,我暂时嵌入了打印列表长度。现在,当我从 main 调用这个函数时: List<CustomListItems> vList1; try { vList1 = await DBMethods().getPrevChats(); } catch (e) { print(e.toString()); } 输出显示: 最终:0 内循环计数:4 但是,期望两个输出均为 4。 我尝试根据一个简单直接的示例重现您的问题: List<String> getLetters() { List<String> letters = []; final dummyStrings = ["Foo", "Bar", "Hello", "World"]; dummyStrings.forEach((element) { for (var letter in element.split("").toList()) { letters.add(letter); } int i = letters.length; print("inside: $i"); }); int i = letters.length; print("outside: $i"); return letters; } 输出是(如预期): 内:3 内部:6 内:11 内部:16 室外:16 这使得 foreach 的行为变得清晰。 然而,这里的技巧是,在这个例子中,我们知道代码正在被执行同步,而你的代码中并非如此! 您发布的输出显示“Final:0”正在被打印甚至在“Inside Loop count:4”之前,这不是预期的结果。它表明您的代码正在运行异步。 解决方案: 虽然你将方法getPrevChats()声明为async,但似乎你在调用await时忘记添加FirebaseFirestore.instance.collection("AT").snapshots(): final Stream<QuerySnapshot<Map<String, dynamic>>> chatsRef = await FirebaseFirestore.instance.collection("AT").snapshots();

回答 1 投票 0

使用 Laravel Collection 中的 Foreach

我在 laravel 11 中有收集数据 $data=集合::make([ ['id'=>1,'name'=>'阿克塔·朱阿尔·贝利'], ['id'=>2,'name'=>'阿克塔希巴'], ['id'=>3...

回答 1 投票 0

我在屏幕上看到过滤后的数据,但是当我清除输入时,原始数据没有出现

我在屏幕上看到过滤后的数据,但是当我清除输入时,原始数据没有出现 这里我将 _todayShare 在 标签中按顺序显示为一个项目 分享 我在屏幕上看到过滤后的数据,但当我清除输入时,原始数据没有出现 这里我将 _todayShare 标签中的 <a\> 按顺序显示为项目 <span>Share</span> <input [(ngModel)]="sharedsearchText" (keyup)="applyFilter(sharedsearchText)" style="width: 50%; margin-top: 1px; margin-bottom: 1px;" matInput placeholder="Ara..." /> </div> <div class="list" slim-scroll [slimScrollOptions]="{ height: 450 }"> <a *ngFor=" let item of _todayShare | keyvalue : valueAscOrder; let i = index " style="cursor: pointer" class="transition" (click)="showliveRss(item)" > _todayShare 是一张地图,正如您所理解的,我在下面复制了它,但它再次不起作用。 _todayShare: Map<string, any> = new Map<string, any>(); ngOnInit() { this._todayShare = new Map<string, any>(); .... applyFilter(value: string) { const filterValue = value.trim().toLowerCase(); const filteredMap = new Map<string, any>(); const _todayShareBackup = new Map<string, any>(this._todayShare) _todayShareBackup.forEach((item, key) => { if (key.toLowerCase().includes(filterValue) || JSON.stringify(item).toLowerCase().includes(filterValue)) { filteredMap.set(key, item); } }); this._todayShare = filteredMap } 当我清除此处的输入时,我希望所有数据如下 这里的问题是 applyFilter 函数,其中 _todayShare 被过滤结果覆盖,当过滤器被清除时,它不会恢复原始数据,您需要在过滤之前备份原始数据,所以当您重新过滤它不适用于之前过滤的数据,而是适用于原始数据。 export class YourComponent implements OnInit { _todayShare: Map<string, any> = new Map<string, any>(); _originalTodayShare: Map<string, any>; // This will store the original data ngOnInit() { this._todayShare = new Map<string, any>(); this._originalTodayShare = new Map<string, any>(this._todayShare); // Load your _todayShare data here and then make a copy to _originalTodayShare } applyFilter(value: string) { if (!value.trim()) { // If there is no input, restore the original data this._todayShare = new Map<string, any>(this._originalTodayShare); return; } const filterValue = value.trim().toLowerCase(); const filteredMap = new Map<string, any>(); this._originalTodayShare.forEach((item, key) => { if (key.toLowerCase().includes(filterValue) || JSON.stringify(item).toLowerCase().includes(filterValue)) { filteredMap.set(key, item); } }); this._todayShare = filteredMap; } }

回答 1 投票 0

对于每个项目图像悬停幻灯片

我这段代码工作正常,但我需要能够添加多个“画廊” 目前它仅适用于第一个.. const interactImg = document.querySelector('.interact-img')

回答 1 投票 0

foreach 中的 php while 循环仅在第一个循环上执行

我有一个值数组,我使用 while 循环来查找每个值的 CSV 文件并列出所有匹配项 但是,由于某种原因,while 循环只执行第一个 foreach...

回答 1 投票 0

addEventListener 不适用于从 javascript 添加的新类选择的元素

我试图让按钮在单击评级时起作用。否则我不会让按钮 addEventListener 工作 我确实使用 conso 检查了所有元素是否正确循环...

回答 1 投票 0

在Php中的foreach循环中显示两个数组?

我想在单个 foreach 循环中显示数据。我有两个表 dailystats 和 Monthstats 他们都有相同的列,如呼叫、分钟、传入呼叫等 我使用 Yii PHP 框架 这是我的

回答 2 投票 0

Powershell 根据上次登录删除 Cim 实例

我能够将命令输出到变量中 $logins=Get-WmiObject -Class Win32_NetworkLoginProfile | $logins=Get-WmiObject -Class Win32_NetworkLoginProfile |排序对象 - 属性 LastLogon - 降序 |选择对象-属性 * -前 20 |对象在哪里...

回答 1 投票 0

并行循环内的进度条?

我有一个并行的for循环,它需要一段时间,所以我想要一个进度条。我似乎无法获得任何“典型”、txtProgressBar 或进度库栏来实际输出任何内容...

回答 1 投票 0

ConcurrentDictionary.ForEach 去哪儿了?

上下文:C#、VS、Unity 我们将 Unity 从 4.0.1 更新到 5.11.3。 现在不再找到 ConcurrentDictionary 上的 ForEach 方法。 我怀疑我错过了其他 Nuget 包或者它只是......

回答 2 投票 0

嵌套循环的并行处理在 R 中无法正常工作

我是R新手,我正在尝试使用parallel()和foreach()包运行嵌套循环来提高速度,但我没有成功。 我有一个数据框,其中第一列是类别...

回答 1 投票 0

在 getElementsByClassName 的数组上使用 forEach 会导致“TypeError: undefined is not a function”

在我的 JSFiddle 中,我只是尝试迭代一个元素数组。正如日志语句所证明的那样,该数组非空。然而,对 forEach 的调用给了我(不太有帮助)“Uncaught TypeError:

回答 3 投票 0

有没有办法减少 For Each 循环中的计数器?

我有以下源csv(wbSource): ID 价值 125 A 145 A 173 A 201 A 203 A 650 乙 第888章 乙 我想使用 VBA 将 Value = A 的所有行复制到另一个表中的“Principal”表

回答 1 投票 0

如何编辑 ForEach 循环内的变量

我这里有这个代码: 结构 CheckoutView: 查看 { var itemInfoList: [itemInfo] @State private var mutableItemInfoList: [itemInfo] = [] init(itemInfoList: [itemInfo]) { 自我。

回答 1 投票 0

React 对象的对象 - 如何循环

我有以下编码的 JSON: const data = JSON.parse('{"第一":{"aaa":"111","bbb":"2222"},"第二":{"aaa":"111"...

回答 4 投票 0

使用 Foreach 打印多个数组

我正在尝试使用 foreach 获取数组的 id: $数组 = 数组 ( '自行车'=> 大批 ( 'id' => 29, ), “汽车”=> 大批 ( 0 => 大批 ( 'id' => 189, ), ...

回答 1 投票 0

在 PHP foreach 循环中选择 SQL 查询

我有一个数据库,其中有两个表:用户和命令。我试图根据每个用户的用户 ID 在网页上打印不同的购买数组。 我有这个代码: 尝试 { $mysqlC...

回答 1 投票 0

尝试使用forEach方法跨div传播

我正在尝试使用 forEach 方法创建单独的数组,以便我可以创建一段数据以便能够显示多个元素,而不是使用innerHTML。 // 让电影标题 =

回答 1 投票 0

如何在 JS 中设置默认值来设置 Map 和/或 value++

固定工资 = { Progger: {工资: 1000, 税: '15%'}, 测试员:{工资:800,税:'10%'}, 经理: { 工资: 1000, 税金: '10%' }, 设计师: { 工资: 600, 税: '30%' }, 艺人:{ 工资:...

回答 3 投票 0

Svelte Kit 如何从为循环项指定唯一 ID 中受益?不这样做会对性能产生哪些影响?

用户 当前的问题围绕着理解为 Svelte Kit 中的循环项指定唯一 ID 的必要性。具体来说,调查深入探讨了这一要求背后的原因......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.