我仍在学习JavaScript,现在我在数组一章中,正在做这个项目,我必须向用户询问5个名称并存储和数组,然后必须按位置对名称进行排序在数组中,因此我可以将奇数和偶数分开,然后我必须在赔率中添加一个姓氏,并在偶数中添加一个不同的姓氏,但这部分没有任何帮助...谢谢
var numberfirstNames = 5;
var userMessage = " Please enter a first Name" ;
var secondArray = [];
var odd2 = [];
var even2 = [];
for (var i = 0; i < numberfirstNames; i++) // loop 5 times LOOL ASKING FOR "5" FIRST NAMES>> STORING IN NAMES
{
secondArray[i] = getFirstname();
window.alert("second " + secondArray[i] );
}
for (var i = 0; i < secondArray.length; i++) {
if(i % 2 === 0) // index is even
{
even2.push(secondArray[i]);
for ( var i=0 ; i<even2.length; i++)
even2[i]+=" Chavez"
}
else
{
odd2.push(secondArray[i]);
for ( var i=0 ; i<odd2.length; i++)
odd2[i]+=" McCain"
}
}
document.write(" \n all the names: "+ secondArray+'<br>');
document.write(" \n even names: "+ even2+'<br>');
document.write(" \n odd names: "+ odd2+'<br>');
答案 0 :(得分:0)
问题是您正在进行第二个不必要的循环...代码
for ( var i=0 ; i<even2.length; i++)
和
for ( var i=0 ; i<odd2.length; i++)
应该简单地删除。
您只需在添加到odd2
或even2
的最后一个元素中添加名字或姓氏即可,这可以通过以下方式完成:
even2[even2.length-1]+=" Chavez"
和
odd2[odd2.length-1]+=" McCain"
重要的是要习惯于添加正确的缩进,因为正确缩进后,这种错误在代码中更容易发现。
答案 1 :(得分:0)
您无需再次循环即可添加特定的姓氏。您可以在将其插入到数组中时,像下面这样预先添加它。
var numberfirstNames = 5;
var userMessage = " Please enter a first Name";
var secondArray = [];
var odd2 = [];
var even2 = [];
// loop 5 times LOOP ASKING FOR "5" FIRST NAMES >> STORING IN NAMES
for (var i = 0; i < numberfirstNames; i++) {
secondArray[i] = getFirstname();
window.alert("second " + secondArray[i]);
if (i % 2 === 0) {
even2.push(secondArray[i] + " Chavez");
} else {
odd2.push(secondArray[i] + " McCain");
}
}
document.write(" \n all the names: " + secondArray.join(",") + '<br>');
document.write(" \n even names: " + even2.join(",") + '<br>');
document.write(" \n odd names: " + odd2.join(",") + '<br>');