Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript在数组中循环_Javascript_Loops - Fatal编程技术网

JavaScript在数组中循环

JavaScript在数组中循环,javascript,loops,Javascript,Loops,我正在努力完成这个任务,我已经设置好了代码,但是,有一个问题 作业: “创建一个包含七个字符串值的数组,初始化为这些星星的名称:Polaris, 奥尔德巴拉、德涅布、织女星、牛郎星、杜布和轩辕十四。创建一个包含七个附加元素的数组 字符串值,初始化为恒星所在星座的名称 发现:小熊座、金牛座、天鹅座、天琴座、天鹰座、大熊座和狮子座。接下来,创建 接受单个字符串参数的函数。在该函数中,遍历 第一个数组,搜索星号。找到星号后,返回包含的值 在第二个数组的索引中。换句话说,返回 使用提示从访问者那里收集星

我正在努力完成这个任务,我已经设置好了代码,但是,有一个问题

作业: “创建一个包含七个字符串值的数组,初始化为这些星星的名称:Polaris, 奥尔德巴拉、德涅布、织女星、牛郎星、杜布和轩辕十四。创建一个包含七个附加元素的数组 字符串值,初始化为恒星所在星座的名称 发现:小熊座、金牛座、天鹅座、天琴座、天鹰座、大熊座和狮子座。接下来,创建 接受单个字符串参数的函数。在该函数中,遍历 第一个数组,搜索星号。找到星号后,返回包含的值 在第二个数组的索引中。换句话说,返回 使用提示从访问者那里收集星星的名称,然后使用该输入调用函数。不要忘记包含代码 当找不到星号时执行。在屏幕上显示结果。“

代码

var stars  = ["Polaris", "Aldebaran", "Deneb", "Vega", "Altair", "Dubhe", "Regulus"];
var stars2 = ["Ursa Minor", "Taurus", "Cygnus", "Lyra", "Aquila", "Ursa Major", "Leo"];

function processStar(starName){
    for (var i=0; i < stars.length; i++) {
        if(starName == stars[i]){
            return stars2[i];
        } else {
            return "No star found!";
        }
    }
}

var getStar = prompt("Input the star name.");
var result = processStar(getStar);
alert(result);
var stars=[“北极星”、“奥尔德巴兰星”、“德涅布星”、“织女星”、“牛郎星”、“杜比星”、“轩辕星”];
var stars2=[“小熊座”、“金牛座”、“天鹅座”、“天琴座”、“天鹰座”、“大熊座”、“狮子座”];
函数processStar(starName){
对于(变量i=0;i
问题

var stars  = ["Polaris", "Aldebaran", "Deneb", "Vega", "Altair", "Dubhe", "Regulus"];
var stars2 = ["Ursa Minor", "Taurus", "Cygnus", "Lyra", "Aquila", "Ursa Major", "Leo"];

function processStar(starName){
    for (var i=0; i < stars.length; i++) {
        if(starName == stars[i]){
            return stars2[i];
        } else {
            return "No star found!";
        }
    }
}

var getStar = prompt("Input the star name.");
var result = processStar(getStar);
alert(result);

此代码仅适用于stars数组中的第一个值。除了该数组的第一个元素(“Polaris”)之外,函数返回的值为false。

在循环体中,您总是返回值,因此循环体将只执行一次。

您的条件语句是错误的。试试这个

var stars  = ["Polaris", "Aldebaran", "Deneb", "Vega", "Altair", "Dubhe", "Regulus"];
var stars2 = ["Ursa Minor", "Taurus", "Cygnus", "Lyra", "Aquila", "Ursa Major", "Leo"];

function processStar(starName){  
    for (var i=0; i < stars.length; i++) {
    if(starName == stars[i]){
        return stars2[i];
    } 
}

return "No star found!";

}

var getStar = prompt("Input the star name.");
var result = processStar(getStar);
alert(result);
var stars=[“北极星”、“奥尔德巴兰星”、“德涅布星”、“织女星”、“牛郎星”、“杜比星”、“轩辕星”];
var stars2=[“小熊座”、“金牛座”、“天鹅座”、“天琴座”、“天鹰座”、“大熊座”、“狮子座”];
函数processStar(starName){
对于(变量i=0;i
要将恒星映射到其星座,关联阵列更有意义。