首页 > 解决方案 > 为什么当我尝试将字符串添加到我的数组位置时不起作用

问题描述

我还在学习 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>');

标签: javascriptarrays

解决方案


您无需再次循环添加特定的姓氏。您可以在将其插入数组时添加它,如下所示。

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>');

推荐阅读