我正在尝试在数组中进行循环,对内容进行排序并创建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上那样训练元素的数量?
由于
答案 0 :(得分:3)
您可以使用%
模数运算符找出偶数和奇数,因为它会在除法后给出余数。如果将数字除以2且余数为零则为偶数,如果余数为1则为奇数。
for(var i=0; i<=myArray.length; i++){
{
if(currentDiv % 2 == 0){
}
else{
}
}
你可以使用循环增量变量currentDiv,我认为循环计数器正在进行一次额外的迭代,我已经通过启动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>");
}
}
答案 1 :(得分:0)
使用模数运算符。
所以currentDiv % 2 == 0
即使是
奇怪的currentDiv % 2 == 1
它做的是除以2并比较其余部分(http://en.wikipedia.org/wiki/Euclidean_division)
答案 2 :(得分:0)
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]);
}
}
}