[英]Array inside function returns undefined
我练习了简单的 js 课程并且在下面的这部分有问题 Function 应该返回数组索引 0 而不是字母 A 但实际上返回 - undefined 我不知道为什么?
function parseGuesses(guess) {
var alphabet = ["A", "B", "C", "D", "E", "F", "G"];
if (guess === null || guess.length !== 2) {
alert("Ups proszę podać literę i cyfrę");
} else { firstChar = guess.charAt(0);
var row = alphabet.indexOf(firstChar);
}
}
console.log(parseGuesses("A2"));
正如 Ivar 所说,您编写的函数没有返回任何内容,因此默认情况下它会返回undefine
因此要更改函数的返回值,您应该像这样编写它:
function parseGuesses(guess) {
var alphabet = ["A", "B", "C", "D", "E", "F", "G"];
if (guess === null || guess.length !== 2) {
alert("Ups proszę podać literę i cyfrę");
} else {
let firstChar = guess.charAt(0); // you should also declare when you create a new variable
return alphabet.indexOf(firstChar);
}
}
它记录未定义,因为您的函数不返回任何内容。
你的函数应该有 return 关键字,通常在函数的最后一行使用,就像这样。
function parseGuesses(guess) {
// operation of something ....
return something
}
然后将其记录到控制台
console.log(parseGuesses("A2"))
从你的代码修改
function parseGuesses(guess) {
var alphabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
let firstChar, row;
if (!guess || guess.length > 2) {
alert('Ups proszę podać literę i cyfrę');
} else {
firstChar = guess.charAt(0);
row = alphabet.indexOf(firstChar);
}
return [firstChar, row]; // return an array after those operation above
}
console.log(parseGuesses('A2'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.