为什么我的程序提醒未定义的值

Why my program alerting undefined value

本文关键字:未定义 我的 程序 为什么      更新时间:2023-09-26
var cars = ["nano", "bmw"];
var bikes = ["pulsar", "splander"];
var con = [];
var foundCars = [];
var foundBikes = [];
var notFoundTransport =[];
for(var i = 0; i<cars.length; i++){
    con = prompt("enter your tranport name");
    if(con[i] == cars[i]){
    foundCars.push(con[i]);
    } 
}
for(var i = 0; i<2; i++){
alert(foundCars[i]);
}

为什么它在警报 foundcars 数组后显示未定义的值例如,纳米宝马它是警报的,未定义的,未定义的请让我知道我错在哪里。

请检查:

var cars = ["nano", "bmw"];
var bikes = ["pulsar","splander"];
var con = [];
var foundCars = [];
var foundBikes = [];
var notFoundTransport =[];
var found = false;
var checkExist = false;

for(var i = 0; i<2; i++){
    con[i] = prompt("enter your tranport name");
}
for(var i = 0; i<con.length; i++){
    for(var j = 0; j<con.length; j++){
        if(con[i] == cars[j]){
            foundCars.push(con[i]);
            found = true;
            checkExist = true;
        }else if(con[i] == bikes[j]){
            foundBikes.push(con[i]);
            found = true;
            checkExist = true;
        }else if(con[i]!=cars[j]&&con[i]!=bikes[j]&&found==false&&j!=0){
                notFoundTransport.push(con[i]);
                found = true;
        }
    }
        found = false;
}
console.log(foundCars);
console.log(foundBikes);
console.log(notFoundTransport);

jsfiddle

因为foundCars永远为空

你应该像这样使用找到的汽车。

for(var i = 0; i<cars.length; i++){
    con = prompt("enter your tranport name");
    for(var p = 0; p<cars.length; p++){
       if(con == cars[p]){
         foundCars.push(con);
       } 
    }
}

并使用for(var i = 0; i<foundCars.length; i++)而不是for(var i = 0; i<2; i++)

首先,

您需要将提示的结果添加到 con 数组中的适当位置。

然后,您应该遍历数组,同时牢记 foundCars 的长度,而不是硬编码的 2。

var cars = ["nano", "bmw"];
var bikes = ["pulsar", "splander"];
var con = [];
var foundCars = [];
var foundBikes = [];
var notFoundTransport =[];
for(var i = 0; i<cars.length; i++){
    con[i] = prompt("enter your tranport name");
    if(con[i] == cars[i]){
        foundCars.push(con[i]);
    } 
}
for(var i = 0; i<foundCars.length; i++){
    alert(foundCars[i]);
}