数组内部的Javascript语法

时间:2016-02-08 22:39:13

标签: javascript jquery arrays

我必须在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) {}
                });

在这种情况下,请指导我如何正确格式化数组?提前谢谢!

1 个答案:

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