繁体   English   中英

javascript循环奇/偶数组

[英]javascript loop odd/even in array

我正在尝试在数组中进行循环,对内容进行排序并创建div,每个都有2个值。

尝试了很多事情,但我无法弄清楚我需要做什么。

这就是我需要做的事情:在数组中循环并创建div。 每个div应该有2个数组值。 像这样:

<div id="1">content, content 2</div>
<div id="2">content 3, content 4</div>
<div id="3">content 5, content 6</div>
<div id="4">content 7</div>

所以我有这样的数组:

var myArray = ['content', 'content 2', 'content 3', 'content 4', 'content 5', 'content 6', 'content 7'];

我像这样循环:

for(var i=0; i<=myArray.length; i++){

    if(currentDiv == 1){
        $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
            console.log(myArray[i]);
    }

    if(currentDiv == 2){
            $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
            console.log(myArray[i]);
            $('#container').append("</div>");
    }



    console.log(currendDivID);

    if(currentDiv == 3){
        currendDivID ++;
        $('#container').append("<div id=\"s" + currendDivID + "\">");
        console.log(myArray[i]);
        $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
    }

    if(currentDiv == 4){
        console.log(myArray[i]);
        $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
        $('#container').append("</div>");
    }



    console.log(currendDivID);

    if(currentDiv == 5){
        currendDivID++;
        $('#container').append("<div id=\"s" + currendDivID + "\">");
        console.log(myArray[i]);
        $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
    }

    if(currentDiv == 6){
        if(myArray[i] == undefined){
            return;
        }
        console.log(myArray[i]);
        $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
        $('#container').append("</div>");
    }


    if(currentDiv == 7){
        currendDivID++;
            if(myArray[i] == undefined){
                $('#container').append("</div>");
                return;
            }
        $('#container').append("<div id=\"s" + currendDivID + "\">");
        console.log(myArray[i]);
        $('#s'+currendDivID+'').append("<p>"+myArray[i]+"</p>");
    }

    currentDiv ++;

}

这工作正常,但我需要硬编码每个div计数,然后填充。 有没有更好的方法来做到这一点,并没有像我在currentDiv var上那样训练元素的数量?

谢谢

您可以使用%模数运算符来查找偶数和奇数,因为它会在除法后给出余数。 如果将数字除以2且余数为零,那么它是偶数,如果余数为1则为奇数。

for(var i=0; i<=myArray.length; i++){        
   if(currentDiv % 2 == 0){ 

   } 
   else{

   } 
}

你可以使用循环增量变量currentDiv,我认为循环计数器正在做一个额外的迭代,我已经通过loop from i=1开始loop from i=1调整。

for(var i=1; i<=myArray.length; i++){        
   if(i % 2 == 0){ 
        $('#s' + i + '').append("<p>"+myArray[i]+"</p>");
        console.log(myArray[i]);    
   } 
   else{
       console.log(myArray[i]);
       $('#s'+ i + '').append("<p>"+myArray[i]+"</p>");
       $('#container').append("</div>");
   } 
}

使用模数运算符。

所以currentDiv % 2 == 0表示偶数
currentDiv % 2 == 1表示奇数

它的作用是除以2并比较其余部分(http://en.wikipedia.org/wiki/Euclidean_division)

var arr=['content','content2','content3','content4','content5'];

for(var i=0;i<=arrlen;i++){

        if(i%2==0){

            if(i!=(arrlen-1)){
                if(i!=arrlen){
                    console.log(arr[i]+" "+arr[i+1]);
                }else{
                    break;
                }
            }else{

                console.log(arr[i]);
            }

        }

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM