Разбор массива Javascript для начальной загрузки div и строк - PullRequest
0 голосов
/ 19 апреля 2019

Я хочу загрузить данные из API, а затем разобрать их в строки начальной загрузки.У меня есть массив finalData, который содержит 15 строк, мне нужно проанализировать его, чтобы создать строки / карты начальной загрузки

Я пытаюсь это сделать, но в первый раз количество элементов возрастает до 5, так как индекс начинается с 0Какие дополнительные условия мне нужно использовать?

let finalData = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","i"];

finalData.forEach((element, index) => {

        index == 0 ? mhtml += `<div class="row">` : null;
        mhtml += `<div class="col-sm-3">
                    finalData[index]
                </div>`;
        index != 0 && index % 4 == 0 ? mhtml += `</div><div class="row">` : null;
    });

Это дает мне следующий результат: Мне не нужно 5 элементов в первом ряду, мне нужно 4 всего.

<div class="row>
a
b
c
d
e
</div>
<div class="row>
f
g
h
i
</div>
<div class="row>
j
k
l
m
</div>
<div class="row>
n
i
</div>
<div class="row>

Мне нужен результат:

<div class="row>
a
b
c
d
</div>
<div class="row>
e
f
g
h
</div>
<div class="row>
i
j
k
l
</div>
<div class="row>
m
n
i
</div>

Ответы [ 2 ]

1 голос
/ 19 апреля 2019

Вы правы, результаты соответствуют индексу - ваш первый проход захватывает значения индекса 0,1,2,3,4, то есть 5 строк.Ваш второй проход захватывает 5 6, 7, 8, что соответствует вашим требованиям.Вам просто нужно проверить (индекс + 1)% 4

index != 0 && ((index + 1) % 4) == 0 ? mhtml += `</div><div class="row">` : null;
1 голос
/ 19 апреля 2019

вы проверяете, когда модуль 4 равен нулю, но это будет ваш 5-й элемент.попробуйте использовать (индекс + 1)% 4 вместо

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