数组中的 JavaScript 语法

Javascript syntax inside array

本文关键字:语法 JavaScript 数组      更新时间:2023-09-26

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

但是以上面的特定格式放置它对我来说不起作用。它返回错误 未捕获的语法错误:意外的令牌。

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) {}
                });

您能否指导我在这种情况下如何正确格式化数组?提前感谢!

不能在较大的结构中使用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 }  
  })
})