如何在for循环中选择数组的每个第二个元素?

时间:2018-08-13 10:32:03

标签: javascript arrays

我正在尝试提高我的JavaScript技能。使用for循环,我想选择每隔两个元素(例如,我要使其变为粗体或斜体)。我知道我可以使用CSS3和nth-child选择器来做到这一点,但是正如我所说的,我正在尝试提高自己的JS技能,我想使用for循环而不使用{{1 }}循环或其他JS循环类型。我是JS的新手。

edit:我想添加所有元素,但我只想拾取第二个元素以使其变为粗体或斜体

foreach
var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];

for (var i = 0; i < addList.length; i++) {
  var newLi = document.createElement("li");

  newLi.innerHTML = addList[i];
  myList.appendChild(newLi);
}

6 个答案:

答案 0 :(得分:3)

在您的for循环中,不是将<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_12" android:orientation="horizontal"/> 增加1,而是将每次使用i的迭代将i增加2。

更新的代码:

i+=2
var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];

for (var i = 0; i < addList.length; i+=2) {
  var newLi = document.createElement("li");

  newLi.innerHTML = addList[i];
  myList.appendChild(newLi);
}

答案 1 :(得分:1)

在您的for循环中,使用i++而不是i += 2

答案 2 :(得分:1)

使用modulus(%)运算符循环获取每个2nd element并在其上添加fontStyle

var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];

for (var i = 0; i < addList.length; i++) {
  var newLi = document.createElement("li");
  newLi.innerHTML = addList[i];
  if(i%2==0){
  newLi.style.fontStyle = "italic"
  newLi.innerHTML = "<strong>"+addList[i]+"</strong>";
  }


  
  myList.appendChild(newLi);
}
<ul id="myList"></ul>

答案 3 :(得分:1)

您可以在循环主体中添加以下内容:

if (i % 2 == 1) {
    // whatever you need to do to make it bold or italic
}

将为i的每个奇数调用此函数。

答案 4 :(得分:0)

在循环中仅使用i + = 2代替i ++

答案 5 :(得分:0)

要添加所有元素并拾取第二个元素,请在%语句中使用模运算符ifi % 2 == 0并更改fontStyle

更新的代码:

var myList = document.getElementById('myList');
var addList = ["Python", "C", "C++", "Ruby", "PHP", "Javascript", "Go", "ASP", "R"];

for (var i = 0; i < addList.length; i+=2) {
  var newLi = document.createElement("li");
  
  if (i % 2 == 0) {
    // make bold
    newLi.style.fontStyle = "bold"
    // make italic
    newLi.style.fontStyle = "italic"
  }

  newLi.innerHTML = addList[i];
  myList.appendChild(newLi);
}
<ul id="myList"></ul>