JQuery для цикла пишет html после каждой третьей итерации цикла

Я пытаюсь получить <div class="clear"></div> для появления после каждой третьей итерации цикла for в jquery. Я знаю, что в PHP это можно выполнить с помощью if($i%3 == 0), но как это сделать в jquery/javascript?

Вот мой цикл for:

var data = $.parseJSON(result);
for(i=0;i<data.length;i++){
    if(i/3 == 1){
        $('#add_product_preview_area').append('<div class="clear"></div>');
    }
    $('#add_product_preview_area').append(data[i]);
}

Теперь это работает только один раз, так как цикл будет только добираться до числа 3 один раз. Итак, любые мысли о том, как сделать одну и ту же концепцию php в jquery? Я видел другие вопросы об упаковке каждого n в div, но мне просто нужно написать html div после каждого из них.

Спасибо заранее.

EDIT:

if ( i && (i % 3 === 0)) {

Это ответ. Я не знал, что вы можете это сделать. Спасибо!

Ответ 1

Вместо этого используйте оператор модуля.

if ( i && (i % 3 === 0)) { ...

Всякий раз, когда нет остатка, вы равномерно делитесь на 3.

Я включил i && для исключения первой итерации с 0 % 3 === 0; // true.

Ответ 2

Используйте это... так же, как ваш PHP

if (i % 3 == 0 )