javascript,在每个API元素后添加逗号

时间:2013-09-12 13:56:21

标签: javascript jquery

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']});

因此,我的问题就在于此。

有人有什么想法吗?

1 个答案:

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

更好的解决方案是修复内部代码,以便在上一次迭代中不生成逗号。