[英]Insert “and” before the last element jquery
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
我有一组键和值,以逗号分隔。 我想在最后一个选中的元素之前插入“和”并删除逗号。 请帮我解决这个问题。
我认为您可以通过添加and
在最后一个元素之前添加选项来减少代码,
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>';
});
片段
var value ='Apple,Banana,Orange,Grapes';var pos = value.lastIndexOf(',');// get last comma index value = value.substring(0,pos)+' & '+value.substring(pos+1); console.log(value);
这是一种简单且可自定义的方式。
(解决方案很一般)
$(document).ready(function() { var ara = ['Apple','Banana','Orange','Grapes']; displayAra(ara); function displayAra(x) { var str = ''; for (var i = 0; i < x.length; i++) { if (i + 1 == x.length) { str = str.split(''); str.pop(); str = str.join(''); str += ' and ' + x[i]; console.log(str); $('.displayAra').text(str); break; } str += x[i] + ','; } } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> Fruits : <span class="displayAra"></span>
str = str.replace(/,(?=[^,]*$)/, 'and')
我解决了自己的问题。 我使用上述正则表达式将最后一个逗号替换为“和”。 感谢正则表达式!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.