在JS数组中使用变量推送结构化字符串

时间:2016-10-25 21:26:11

标签: javascript arrays array-push

我试图用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跟踪代码中传递完全相同的结构。如果包含符号{},则页面将被破坏。是否有任何方法或“技巧”,以便将它们包含在数组元素中并推送它们?

1 个答案:

答案 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)