删除角色的最后两个实例

Removing the last two instances of a character

本文关键字:两个 实例 角色 最后 删除      更新时间:2023-09-26

我正在基于选中的复选框构建一个字符串。我写了一个语句,如果选择了多个字符串,就会添加复数,但我不知道如何删除数组放入"policyHidden"字段的最后两个逗号。

$(document).ready(function(){
    $('input:checkbox').change(function() {
      var keys = [];
      var policies = $('input:checkbox:checked').map(function () {
        return $(this).siblings('span').text(); }).get();
      $.each(policies, function(key, value) { keys.push(value) });
      output = keys.join(", ");
      FormSetFieldValue('policyHidden', output);
      if (keys.length > 1) {
        keys.splice(keys.length - 1, 0, "and");
      }
      FormSetFieldValue('policyHidden', output);
    });
});

示例输出是

value1, value2, and, value3

我只想去掉最后两个逗号。我应该做正则表达式吗?

仅供参考,FormSetFieldValue是另一个脚本中的函数;第一个变量调用想要更改的变量,第二个变量是设置值。不应该对眼前的问题产生任何影响

我认为把它放在那里,然后再把它删除是违反直觉的
首先你不应该把它放进你的字符串中:

var output = [];
output[1] = keys.pop();
output[0] = keys.join(', ');
output = output.join(' and ');

小提琴在这儿:http://jsfiddle.net/yfKjp/

regex是一个选项。您还可以为',and,'与'和'执行javascript替换函数

var str = "value1, value2, and, value3"
str.replace(', and,',' and')

你可能需要转义逗号。