[英]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.