[英]Why my program alerting undefined value
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數組后顯示未定義的值,例如nano bmw,它是警報,未定義,未定義的請讓我知道我錯了。
首先,您需要將提示結果添加到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]);
}
因為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++)
請檢查:
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.