删除角色的最后两个实例
Removing the last two instances of a character
我正在基于选中的复选框构建一个字符串。我写了一个语句,如果选择了多个字符串,就会添加复数,但我不知道如何删除数组放入"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')
你可能需要转义逗号。
相关文章:
- 当同一浏览器的两个实例浏览时,Javascript页面如何具有唯一的ID
- 如何通过osascript处理同一应用程序的两个实例
- 在两台不同的服务器上运行同一node.js应用程序的两个实例
- 一个用户脚本的两个实例如何在帧之间进行通信
- Colorbox插件正在加载其自身的两个实例
- javascript中的Ruby插值在两个实例中的一个实例中不起作用
- Javascript — 相同元素的两个实例
- 两个实例包含相同的值
- 不能使用ezinearticles作者小部件的两个实例
- Widget的两个实例只有一个实例在工作
- 删除角色的最后两个实例
- 一个指令的两个实例正在使用同一个模板实例
- 如何删除数组中重复对象的两个实例
- 当同一个模板的两个实例在应用程序的多个地方使用时,Ember的奇怪行为
- 为什么这个属性在一个实例中打印,而不是在类似的实例中打印,即使它在两个实例中都是可枚举的
- AngularJS指令的两个实例,更改为2会影响第一个实例
- Express(4.0)自定义中间件可以在router的两个实例上运行,尽管它只声明了一个实例
- 不能在JavaScript中创建一个对象的两个实例
- 为什么我不能得到我的视图的两个实例来渲染?
- 获取url中字符最后两个实例之间的子字符串