js元素按照数组索引排序,元素长度超过数组长度的接着按索引排序

我想给标签加上不同的颜色,就把颜色样式写在一个数组里面,颜色样式按数组索引排序,数组长度固定。
怎么使元素长度length超过数组长度length时,元素长度超出数组长度还是按照数组索引排序

     var tagClass = ['primary','success','info','warning','danger'];
     var tagClass_length = tagClass.length;
     //标签样式按照数组索引顺序
    $(".tags").each(function(i){
        var tagLength = $(this).length;
        if(tagLength <= tagClass_length){
          $(this).addClass('label-'+tagClass[i]);
        }else if(tagLength > tagClass_length){
          //接下来怎么写好..
        }
    });
阅读 5k
2 个回答
var tagClass = ['primary','success','info','warning','danger'];
var tagClass_length = tagClass.length;
 //标签样式按照数组索引顺序
$(".tags").each(function(i) {
    $(this).addClass('label-' + tagClass[i % tagClass_length]);
});

$(this).addClass('label-' + tagClass[i % 5]);
话说好像直接求余就可以了,不需要判断,楼上的代码比较规范,我这里直接用数字是坏习惯,应该用常量代替

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题