我正在尝试显示从复选框中选择的过滤器。首先,我要创建一个从复选框中选择的值数组,然后尝试附加到字符串
例如,我有两个标记为label1
和label2
的复选框,我建立了数组['label1','label2']
。
期望的结果将是“ Filtered by: Label1, Label2
”,但我却得到了Filtered by: Label1,Label2, Label1,Label2
我想这是我尝试构建字符串的for循环中的东西,因为数组看起来不错
let topLabel = jQuery('.industry-filter').data('selected-text') + ' ';
let termsName= ['Industry', 'Category']
if(termsName.length){
for(var j = 0; j < termsName.length; j++){
if(j == termsName.length - 1){
topLabel += termsName;
}else{
topLabel += termsName+', ';
}
}
}else{
topLabel = jQuery('.industry-filter').data('text');
}
$('.industry-filter').text(topLabel);
这是显示问题的笔:https://codepen.io/anon/pen/pqjYxL
最佳答案
您应该通过其索引访问一个元素。
if(j == termsName.length - 1){
topLabel += termsName[j];
}else{
topLabel += termsName[j]+', ';
}
解决方案的一个简短版本可以使用
join
方法。if(termsName.length){
topLabel += termsName.join(',')
}
关于javascript - Javascript数组显示两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53758927/