Добавить диапазон строк на основе количества элементов данных - PullRequest
0 голосов
/ 02 апреля 2020

Я написал ниже строки jQuery code

                 var rowspan = 2;

                   if(data.length == 5 || data.length == 6)
                   {
                       rowspan = 3; 
                   }
                   else if(data.length == 7 || data.length == 8)
                   {
                       rowspan = 4; 
                   }
                   else if(data.length == 9 || data.length == 10)
                   {
                       rowspan = 5; 
                   }
                   else if(data.length == 11 || data.length == 12)
                   {
                       rowspan = 6; 
                   }
                   else if(data.length == 13 || data.length == 14)
                   {
                       rowspan = 7; 
                   }

                  tdDataImage = '<td id="image-td" rowspan="'+rowspan+'">'+
                     '<img class="regCardPhoto" src="'+ imagePath + '">' +
                  '</td>';

Я пытаюсь динамически добавить диапазон строк к td на основе data.length. Приведенный выше код работает нормально. Но я не могу воссоздать код вышеупомянутой логики c более умным способом. Например, если через несколько дней или месяцев data.length может быть 15 16 ... или больше 14. Тогда мне придется написать еще одно условие. Я не могу переписать приведенный выше код более умным способом.

1 Ответ

4 голосов
/ 02 апреля 2020

Вы можете сделать что-то вроде этого

var rowspan = Math.ceil(data.length * 0.5);

Если я посмотрю на ваш код, кажется, что rowspan составляет примерно половину длины data. Чтобы убедиться, что вы получили округленное число, я использую Math.ceil, чтобы округлить число.

Например:

data.length = 33;
var rowspan = Math.ceil(33 * 0.5); // 33 * 0.5 = 16.5; 16.5 rounded up is 17

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...