Mustache.js: 数组转换为字符串

创建于 2011-12-09  ·  5评论  ·  资料来源: janl/mustache.js

我有这个数组:
“可选”:[
“X”,
“是”,
“z”
]

当我调用“{{Optionen}}”时,返回:“x,y,z”

但我需要得到 ["x", "y", "z"]

这是一个错误还是我错过了什么?

最有用的评论

是的,这是设计使然。 任何在数据对象中匹配的键如果不是“假”的,都会被强制转换为字符串。 对于数组,JavaScript 将它们强制转换x,y,z格式的字符串(自己尝试一下:打开 firebug 并输入["x","y","z"].toString() ,结果应该是x,y,z

如果你想要任何不同的东西,你需要手动编写模板。 就像是:

[{{#Optionen}}"{{.}}",{{/Optionen}}]

希望有帮助。

所有5条评论

是的,这是设计使然。 任何在数据对象中匹配的键如果不是“假”的,都会被强制转换为字符串。 对于数组,JavaScript 将它们强制转换x,y,z格式的字符串(自己尝试一下:打开 firebug 并输入["x","y","z"].toString() ,结果应该是x,y,z

如果你想要任何不同的东西,你需要手动编写模板。 就像是:

[{{#Optionen}}"{{.}}",{{/Optionen}}]

希望有帮助。

这非常接近。 使用 [{{#Optionen}}"{{.}}", {{/Optionen}}] 我得到 ["x", "y", "z", ]
不幸的是,当再次保存该值时(例如在开头添加“a”之后),最后一个逗号将成为问题。 有没有办法防止最后一个逗号?
哦,保存后, ["a", "x", "y", "z", ] 我得到这个:"[\"a,x,y,z\", ]"
保存 a,x,y,z 会给出正确的数组 ["a", "x", "y", "z"]
看起来我最好坚持 a,x,y,z。
希望,我永远不需要用逗号保存值......
好吧,我想除非不使用小胡子,否则没有简单的解决方案。
纠正我,我错了。 关闭问题。
非常感谢您的帮助!

问题已关闭

抱歉,不确定您要做什么。 不确定“保存”是什么意思,但为了消除 Mustache 中的最后一个逗号,我认为唯一的方法是通过在 JavaScript 中预迭代列表来引入一个标志变量,这很快变得比它的价值更麻烦。 我认为@janl正在构建的助手功能可能会使 Mustache 本身更容易解决这个问题,但我不确定,因为我不太熟悉它。

或者,查看 JSON.stringify 和 JSON.parse(内置于浏览器),它们可能有助于将数组反序列化为您期望的格式。

我找到了解决方案: .split(", ") 做到了!
所以我将带有小胡子的值加载到一个字段中。 然后我在使用 saveDoc 保存字段中的数据时使用 .split(", )。

2011/12/12 萨哈卜·亚兹达尼 <
回复@reply.github.com

抱歉,不确定您要做什么。 不知道“节省”是什么意思,
但是要消除 Mustache 中的最后一个逗号,我认为唯一的方法是
是通过在 JavaScript 中预迭代列表来引入标志变量,
这很快变得比它的价值更麻烦。 我认为帮手
@janl正在构建的功能可能会使这个问题更容易解决
胡子本身,但我不确定,因为我不太熟悉它。

或者,查看 JSON.stringify 和 JSON.parse(内置于
浏览器),这可能有助于将数组反序列化为您的格式
期待。


直接回复此邮件或在 GitHub 上查看:
https://github.com/janl/mustache.js/issues/146#issuecomment -3100397

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

rlightner picture rlightner  ·  7评论

zekth picture zekth  ·  18评论

connor11528 picture connor11528  ·  3评论

kuldeepdhaka picture kuldeepdhaka  ·  9评论

MatthijsZw picture MatthijsZw  ·  18评论