Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在一个循环中处理三个数组

在一个循环中处理三个数组
EN

Stack Overflow用户
提问于 2020-10-12 07:47:32
回答 1查看 167关注 0票数 3

我有一个类似如下的Rust结构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
struct Root{
    as: Vec<A>,
}

struct A {
    bs: Vec<B>,
    cs: Vec<C>,
}

struct B {
    strings: Vec<String>,
}


struct C {
    strings: Vec<u32>,
}

我正在尝试使用Rocket.rs和Handlebar模板来获取输出。

我的handlebars模板目前看起来是这样的,但它不能工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{{#each as}}
    {{#each bs}}
        <h4>{{@index}}</h4>
        <pre>{{bs.@index}}</pre>
        <pre>{{cs.@index}}</pre>
    {{/each}}
{{/each}}

我得到以下错误Error: Error rendering Handlebars template 'index' Error rendering "index" line 28, col 18: invalid digit found in string,这可能与我在HBS标记中使用的@index变量有关。

有没有其他方法可以在不改变结构的情况下,从两个数组中只获取一项,并将它们并排放置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-12 15:08:38

我不清楚你想要实现什么。对于as数组中要遍历bscs的每个元素的每个A对象,看起来都是这样的。这假设bscs对于任何A都具有相同的长度。

如果这是您想要的,那么我认为您的问题在于您试图从bs的上下文中访问cs。在{{#each bs}}块中,上下文是当前的B对象。由于B没有cs,因此您需要提高上下文级,以便返回到包含bscsA的上下文。在Handlebar中,您可以使用路径进行change the context,如../

访问每个bs的每个bs索引处的Acs的简化模板为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{{#each as}}
    {{#each bs}}
        <h4>{{@index}}</h4>
        <pre>{{lookup ../bs @index}}</pre>
        <pre>{{lookup ../cs @index}}</pre>
    {{/each}}
{{/each}}

注意:为了保持一致性,我对bs查找和cs查找都使用了lookup helper。但是,由于我们是在bs的上下文中,我们可以简单地用.引用它。如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<pre>{{.}}</pre>
<pre>{{lookup ../cs @index}}</pre>

我已经创建了一个fiddle供您参考。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64313628

复制
相关文章
SwiftU:在循环中创建视图
通常在一个循环中创建多个SwiftUI视图。例如,我们可能想要遍历一系列名称,并让每个名称成为文本视图,或者遍历一系列菜单项,并将每个名称显示为图像。
韦弦zhy
2020/03/20
2.2K0
Js 数组深拷贝及 splice() 在 for 循环中的使用整理、建议
背景 最近在涉猎 【React】 前端框架知识时; 更多的精力会放在对 JS 的数据处理上 并且, 在业务中会经常使用数组操作 显然, 对不熟悉前端开发的小伙伴,会很容易入坑的 ——
泥豆芽儿 MT
2021/09/06
2.4K0
Dart:在循环中使用 Async 和 Await
在 Dart(以及 Flutter)中,您可以使用Future.forEach在循环中顺序执行同步操作。下面的示例程序将打印从 1 到 10 的数字。每次打印完一个数字,它会等待 3 秒,然后再打印下一个数字。
徐建国
2022/04/27
1.7K0
Dart:在循环中使用 Async 和 Await
Java 如何优雅的在循环中删除元素
如果集合中的元素唯一,也就是说只删除集合中符合条件的一个元素,以下用法也是没问题的
鱼找水需要时间
2023/02/16
1.3K0
Linux日志轮循实现(shell)
在Linux系统中,日志的使用非常频繁,那么对日志就需要一定策略的管理,包括存放目录的设计,log文件命名规则,历史log文件的存放,log目录的容量限制,另外还有日志轮循。
jianghaibobo
2019/08/02
1.7K0
tree组件在for循环中无法使用getCheckedNodes这个方法
原理: 通过鼠标点击拿到选中的id,然后判断数组中存不存在这个id,有就删除,没有就添加这个id;
用户4344670
2019/08/28
3.5K0
tree组件在for循环中无法使用getCheckedNodes这个方法
CA2014:请勿在循环中使用 stackalloc
C# stackalloc 表达式从当前堆栈帧分配内存,并且在当前方法调用返回之前,不能释放内存。 如果在循环中使用 stackalloc,则可能会由于耗尽堆栈内存而导致堆栈溢出。
用户4268038
2022/02/20
4550
循环中的异步&&循环中的闭包
foo函数下的index输出5,全局下的index不存在 现在我们把var 换为let
陌上寒
2019/04/02
1.6K0
循环中的异步&&循环中的闭包
Javascript闭包实现Ajax在for循环中正常运行
假设我们现在需要在一个for循环中通过异步的方式向一个后端php程序请求数据,常规的写法Ajax是无法正常工作的,网上也有不少的解决方案,这里提供一个闭包方案,详细如下:
魏杰
2022/12/23
6210
在PHP中灵活使用foreach+list处理多维数组
先抛出问题,有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如:
硬核项目经理
2020/01/02
3.6K0
从一个多层嵌套循环中直接跳出
Java中如何从一个多层嵌套循环中退出,例如下面,有两个循环,break只能退出一个for循环,不能直接跳过第二个for循环
硬核编程
2020/07/23
9230
【SQL】小心在循环中声明变量——浅析SQL变量作用域
如果你认为这个语句跑起来没问题,那你值得看下去,会避免以后踩到【SQL变量作用域】的坑。
AhDung
2019/02/25
1.7K0
017:为什么不建议在循环中使用“+”拼接字符串
由于字符串对象是不可变的,所以每次循环都会对操作符左右两边的字符串进行拷贝,并生成一个新的字符串对象。如果循环n次,则这个过程需要n的平方级的时间;并且在这个过程中还创建了很多短命的中间对象。
阿杜
2019/03/12
1.3K0
017:为什么不建议在循环中使用“+”拼接字符串
数组相关处理函数
**************************************************************************************************************
十月梦想
2018/08/29
5990
php处理数组相关
Text-to-speech function is limited to 200 characters
botkenni
2019/09/02
6180
Python学习笔记:第2天while循
while循环是先判断给的条件是否为真,如果真则执行循环体中的while语句,否则跳出循环;执行循环体之后再次判断条件是否为真。
py3study
2020/01/19
4920
在 for 循环中使用 "+" 进行字符串拼接,合适吗?
字符串,是 Java 中最常用的一个数据类型了。本文主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。
逆锋起笔
2020/03/12
3K0
在 for 循环中使用 "+" 进行字符串拼接,合适吗?
CPU处理程序的三个阶段
我们已经做了一个算术逻辑单元(ALU)输入二进制,它会执行计算。我们还做了两种内存: 寄存器 - 很小的一块内存,能存一个值 ,之后我们增大做出了 ,RAM 是一大块内存,能在不同地址存大量数字,现在是时候把这些放在一起,组建计算机的 "心脏" 了。但这个 "心脏" 不会有任何包袱,比如人类情感.。计算机的心脏是"中央处理单元",简称 "CPU" 。CPU 负责执行程序,比如 Office,Safari 浏览器。程序由一个个操作组成 ,这些操作叫"指令"(Instruction) ,因为它们"指示"计算机要做什么,如果是数学指令,比如加/减 ,CPU 会让 ALU 进行数学运算,也可能是内存指令,CPU 会和内存通信,然后读/写值,也可能是内存指令,CPU 会和内存通信,然后读/写值,CPU 里有很多组件。
硬核编程
2019/08/19
1.2K0
点击加载更多

相似问题

在javascript with循环中处理json数组

21

在循环中处理字符串数组

21

在PHP中的foreach循环中组合三个数组

21

处理每个循环中有一个元素的数组

11

在另一个用于批处理的循环中迭代数组

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文