Javascript 插入“;及;在最后一个元素jquery之前 var swTitle={}; var-favorite=[]; $.each($($(输入[name='Title']:选中),函数(){ favorite.push($(this.val()); log($($input[name='Title']:checked”); }); swTitle.domain=收藏夹; var List={}; for(var m=0;m
我有一个用逗号分隔的键和值数组。我想在最后一个选中的元素之前插入“and”并删除逗号。请帮我解决这个问题。我认为您可以减少代码,在最后一个元素之前添加Javascript 插入“;及;在最后一个元素jquery之前 var swTitle={}; var-favorite=[]; $.each($($(输入[name='Title']:选中),函数(){ favorite.push($(this.val()); log($($input[name='Title']:checked”); }); swTitle.domain=收藏夹; var List={}; for(var m=0;m,javascript,jquery,Javascript,Jquery,我有一个用逗号分隔的键和值数组。我想在最后一个选中的元素之前插入“and”并删除逗号。请帮我解决这个问题。我认为您可以减少代码,在最后一个元素之前添加和,例如 var swTitle = {}; var favorite = []; $.each($("input[name='Title']:checked"), function() { favorite.push($(this).val()); console.log($("input[name='Ti
和
,例如
var swTitle = {};
var favorite = [];
$.each($("input[name='Title']:checked"), function() {
favorite.push($(this).val());
console.log($("input[name='Title']:checked"));
});
swTitle.domain = favorite;
var List = {};
for (var m = 0; m < favorite.length; m++) {
var swTitleObj = [];
$.each($('input[name="' + swTitle.domain[m] + '"]:checked'), function() {
console.log(swTitle.domain[m]);
swTitleObj.push($(this).attr("class"));
console.log(swTitleObj);
});
List[swTitle.domain[m]] = swTitleObj;
}
var swSkillData = " ";
$.each(List, function(key, value) {
console.log(key + ":" + value);
swSkillData += '<li>' + key + ' ' + ':' + ' ' + value + '</li>';
});
Output will be like:
Fruits:Apple,Banana,Orange,Grapes
I want my output be like:
Fruits:Apple,Banana,Orange & Grapes
片段
var value='苹果、香蕉、橘子、葡萄';var pos=value.lastIndexOf(',');//获取最后一个逗号索引
value=value.substring(0,pos)+'&'+value.substring(pos+1);
console.log(值)代码>这是一种简单且可自定义的方式
(解决方案是通用的)
$(文档).ready(函数(){
var ara=[‘苹果’、‘香蕉’、‘橘子’、‘葡萄’];
阿糖胞苷;
函数显示a(x){
var-str='';
对于(变量i=0;i
水果:
我解决了自己的问题。我使用上述正则表达式将最后一个逗号替换为“and”。感谢Regex 您能为您目前所做的工作创建一个JSFIDLE吗。因此,它比给定的代码更容易理解和解决。显示的代码似乎是以HTML字符串的形式生成输出,其中包含
元素,而不是逗号分隔的列表,所以您所说的逗号在哪里?谢谢Barot。但它似乎对我没有帮助,它产生了你刚才提到的确切的输出。如果你想把它融入你的代码中,如果你想让我@sunaYes请帮帮我Barot@Barot. 您对我的问题有什么解决方案吗?@suna我已经用您现有的代码更新了我的答案,并添加了一个代码片段,用&
替换上一个,
。我已经使用了您的解决方案,但它似乎不起作用@rohana可能是您遗漏了什么,否则我的代码片段工作正常。如果您可以用HTML(Fiddle或Snippet)向我展示您的代码,那么我可以帮助您找到更多问题。
var inputs=$("input[name='Title']:checked"),
len=inputs.length,
swSkillData='',
counter=0;// to get the last one
$.each(inputs, function() {
sep=' , '; // add comma as separator
if(counter++==len-1){ // if last element then add and
sep =' and ';
}
swSkillData += '<li>' + this.value + // get value
' ' + ':' + ' ' +
this.className + // get classname
sep + // adding separator here
'</li>';
});
$.each(List, function(key, value) {
console.log(key + ":" + value);
var pos = value.lastIndexOf(',');// get last comma index
value = value.substring(0,pos)+' & '+value.substring(pos+1);
swSkillData += '<li>' + key + ' ' + ':' + ' ' + value + '</li>';
});
str = str.replace(/,(?=[^,]*$)/, 'and')