如何在Mustache中正确遍历指定多维数组并获取预期输出?
Mustache多维数组遍历问题解决
原数据结构
"arr" : [ {"code":"glove", "arr1": [{ "value":"fingers"}, {"value":"hands","lastValue":true}]}, {"code":"coloris", "arr1": [{"value":"Black"}, {"value":"white", "lastValue":true}], "last":true} ]
原尝试的Mustache代码
{{#arr}} {{#arr1}} {{value}} - {{code}} {{^lastValue}}, {{/lastValue}} {{/arr1}} {{^last}}, {{/last}} {{/arr}}
预期输出
fingers - glove, hands - glove , Black - coloris, white - coloris
正确实现代码
问题出在分隔符位置和换行处理上,调整后的Mustache代码如下:
{{#arr}} {{#arr1}} {{value}} - {{code}}{{^lastValue}},{{/lastValue}} {{#lastValue}} {{/lastValue}} {{/arr1}} {{^last}} , {{/last}} {{/arr}}
说明
arr1内部元素处理:给非lastValue的项直接追加逗号,lastValue的项后添加换行,保证每行内容格式匹配预期。arr元素分组处理:除了标记last的最后一个分组,其余分组在遍历完自身arr1后,添加逗号和换行,实现分组间的分隔效果。
内容的提问来源于stack exchange,提问作者toch
相关产品推荐
相关产品推荐

