我必须在jquery中推送一个数组。我无法得到如何正确格式化所有JavaScript语法。你可以分享最好的解决方案。
结果应该是这样的。
<script type="text/javascript">
rrApiOnReady.push(function() {
try {
rrApi.order({
transaction: <transaction_id>,
items: [
{ id: <product_id>, qnt: <quantity>, price: <price>},
{ id: <product_id>, qnt: <quantity>, price: <price> }
]
});
} catch(e) {}
})
</script>
我为'order.cart.items'确定变量,然后尝试列出一个带有'items [i] .product.id'的数组,就像在教程中一样:
var items = order.cart.items;
for (var i in items) { ... }
但是我把它放在上面的特定格式中并不起作用。它返回错误Uncaught SyntaxError:Unexpected token for。
rrApiOnReady.push(function() {
try {
rrApi.order({
transaction: page.orderNumber,
items: [
for (var j in items) {
{ id: items[j].product.id, qnt: items[j].quantity, price: items[j].product.price },
}
]
});
} catch(e) {}
});
在这种情况下,请指导我如何正确格式化数组?提前谢谢!
答案 0 :(得分:3)
您不能在较大的结构中使用for
循环。 JavaScript的for
循环不是可以计算为值的表达式。它们植根于命令式编程,而不是函数式编程。
相反,您应该使用map
, 根据您的输入集合返回新的集合:
rrApi.order({
transaction: page.orderNumber,
items: items.map(function (item) {
return { id: item.product.id, qnt: item.quantity, price: item.product.price }
})
})