簡體   English   中英

如何在for循環中對數組的每個第二個元素進行select?

[英]How to select every 2nd element of an array in a for loop?

我正在努力提高我的 JavaScript 技能。 使用 for 循環我想每隔一個元素 select (例如,我想讓它們變為粗體或斜體)。 我知道我可以使用 CSS3 和nth-child選擇器來做到這一點,但正如我所說,我正在努力提高我的 JS 技能,我想使用for循環而不是foreach循環或其他 JS 循環類型來做到這一點。 我是JS的新手。

編輯:我想添加所有元素,但我只想拿起第二個元素以使它們變為粗體或斜體

 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); }
 <ul id="myList"></ul>

在你的for循環,而不是增加i的1,增加i對每一次迭代由兩個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); } 
 <ul id="myList"></ul> 

for循環中,使用i += 2代替i++

要添加所有元素並拾取每個第二個元素,請在if語句中使用模運算符%i % 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> 

使用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> 

您可以在循環主體中添加以下內容:

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

將為i每個奇數調用此函數。

只需在循環中使用i + = 2代替i ++

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM