在 JS 数组中推送带有变量的结构化字符串
Push structured string with variables in JS array
我正在尝试将带有变量的特定字符串推送到 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 跟踪代码中传递完全相同的结构。如果包含符号 { },则该页面已损坏。有什么方法或 'trick' 可以将它们包含在数组元素中并推送它们吗?
因为你不能 "push" 进入一个对象,你可以像这样轻松地做到这一点:
<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>
或
如果你需要它作为一个字符串,你可以像我看到的那样把它当作一个对象,然后通过执行以下操作将它转换为字符串:JSON.stringify(full_line)
我正在尝试将带有变量的特定字符串推送到 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 跟踪代码中传递完全相同的结构。如果包含符号 { },则该页面已损坏。有什么方法或 'trick' 可以将它们包含在数组元素中并推送它们吗?
因为你不能 "push" 进入一个对象,你可以像这样轻松地做到这一点:
<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>
或
如果你需要它作为一个字符串,你可以像我看到的那样把它当作一个对象,然后通过执行以下操作将它转换为字符串:JSON.stringify(full_line)