0

次の JavaScript をより効率的に実行する方法はありますか? これを減らしたいのですが、それを行う方法が思いつきませんでした。ありがとう!

      var sizes = []; //This is a dynamic array from button clicks in an above menu that will include any of ['S','M','L','XL']
      sizes = ['S','M'] // We'll use this as an example saying that the S and M buttons are active.
      $('div').each(function() {
        var t = $(this);
        var mysizes = t.attr('class').split(/\s+/);
        var length = sizes.length;
        if(length == 0) {
            t.show();
        }
        if(length == 1) {
            if(t.hasClass(sizes[0])) {
                t.show();
            } else {
                t.hide();
            }
        }
        if(length == 2) {
            if(t.hasClass(sizes[0]) || t.hasClass(sizes[1])) {
                t.show();
            } else {
                t.hide();
            }
        }
        if(length == 3) {
            if(t.hasClass(sizes[0]) || t.hasClass(sizes[1]) || t.hasClass(sizes[2])) {
                t.show();
            } else {
                t.hide();
            }
        }
        if(length == 4) {
            if(t.hasClass(sizes[0]) || t.hasClass(sizes[1]) || t.hasClass(sizes[2]) || t.hasClass(sizes[3])) {
                t.show();
            } else {
                t.hide();
            }
        }
    });

どんな助けでも大歓迎です。

4

2 に答える 2