我试图用JS数组中的变量推送一个特定的字符串。
到目前为止我的代码:
<script type="text/javascript">
var id = "{$p.id}"+"-"+"{$p.id_val}";
var price = "{$p.price}";
var category = "{$p.category}";
var full_line = "{ id: "+id+", price: "+price+", category: "+category+"},";
console.log(full_line);
myArray.push(full_line);
</script>
它工作正常但如果在整行中我有这些符号它不起作用:{} 在下面你可以看到没有这些符号的行,如果我把它留下来就可以了。
var full_line = "id: "+id+", price: "+price+", category: "+category;
但我需要这些符号,因为我必须在js跟踪代码中传递完全相同的结构。如果包含符号{},则页面将被破坏。是否有任何方法或“技巧”,以便将它们包含在数组元素中并推送它们?
答案 0 :(得分:0)
由于你不能“推”到一个物体,你可以这样轻松地做到:
<script type="text/javascript">
var id = "{$p.id}"+"-"+"{$p.id_val}";
var price = "{$p.price}";
var category = "{$p.category}";
var full_line = {};
full_line.id = id;
full_line.price = price;
full_line.category = category;
console.log(full_line);
myArray.push(full_line);
</script>
OR
如果您需要它作为字符串,您可以将其视为对象,就像我看到您一样,然后将其转换为字符串:JSON.stringify(full_line)