javascript,在每个API元素后添加逗号
我想在API调用中的每个SKU元素之后添加一个“,”逗号字符。但是,我目前正在做的方式也在最后添加一个逗号,只是错误的javascript。关于我应该做什么的任何想法?
这些是内部的API元素,所以请原谅我用我的JS代码发布它们,但它会更全面地了解正在发生的事情,因为我正在提供它们。
我的代码是:
<script type="text/javascript">
var rfk = rfk || [];
rfk.push({"product_ids": [[[DMI:Use dmisource='((Cart)Container.DataItem).Items' ]]'[[DMI:Expression value='((CartItem)(Container.DataItem)).Sku']][[/DMI:Expression]]',[[/DMI:Use]]]});
</script>
你可以看到我在结尾[[/ DMI:Use]]
之前放置了逗号对我来说,它所做的就是让实际推出的代码看起来像这样:
var rfk = rfk || [];
rfk.push({"product_ids": ['AR20','3081',]});
我希望看起来像这样:
var rfk = rfk || [];
rfk.push({"product_ids": ['AR20','3081']});
因此,我的问题就在于此。
有人有什么想法吗?
答案 0 :(得分:0)
所以你的意思是这个代码:
[[[DMI:Use dmisource='((Cart)Container.DataItem).Items' ]]'[[DMI:Expression value='((CartItem)(Container.DataItem)).Sku']][[/DMI:Expression]]',[[/DMI:Use]]]
是一个循环,在服务器端生成['AR20','3081',]
,对吧?
从['AR20','3081',].length == 2
开始,最后一个逗号没有做任何事情,但是如果你真的需要修复它,那么你可以这样做:
var rfk = rfk || [];
var values = "[[DMI:Use dmisource='((Cart)Container.DataItem).Items' ]][[DMI:Expression value='((CartItem)(Container.DataItem)).Sku']][[/DMI:Expression]],[[/DMI:Use]]";
/* the above should generate:
* var values = "AR20,3081,";
* but I'm not familiar with your code so that's my guess. */
// now remove a comma at the end o values string, then split it on remaing commas
var ids = values.replace(/,$/,'').split(',');
rfk.push( {"product_ids": ids });
更好的解决方案是修复内部代码,以便在上一次迭代中不生成逗号。