【发布时间】:2014-07-12 18:10:00
【问题描述】:
我有一个非常简单的函数,它返回 undefined 给我。我有一个退货声明,但它仍然存在。有什么建议吗?
var scrabble = function (letter) {
var newLetter = letter.toLowerCase();
var letterSplit = newLetter.split(" ");
var newArray = [];
var values = [["a", 1], ["b", 3], ["c", 3], ["d", 2], ["e", 1], ["f", 4], ["g", 2], ["h", 4], ["i", 1], ["j", 8], ["k", 5], ["l", 1], ["m", 3], ["n", 1], ["o", 1],
["p", 3], ["q", 10], ["r", 1], ["s", 1], ["t", 1], ["u", 1], ["v", 4], ["w", 4], ["x", 8], ["y", 4], ["z", 10]];
for (var i = 0; i < values.length; i++) {
if (values[i][0] === letterSplit[0]) {
newArray.push(values[i][1]);
}
}
return newArray;
};
【问题讨论】:
-
您总是在与 letterSplit[0] 进行比较,这将是您信件的第一个单词。粘贴您的输入以便我们查看,同时告诉我们您期望得到的响应是什么
-
我真的很想知道为什么你不能在这里使用哈希。它会让整个事情变得更加直接。
-
是的,
values这里应该真的是一个对象。 -
嗯,输入是一个字母,所以他们会比较。我最初有另一个 if 语句,它有点复杂,因此它将测试 letterSplit 数组的第一个字母与整个 values 数组的第一个字母。但是,它返回未定义,因此我更改了 if 语句以尝试简化它并查看是否有帮助。我的规范跑步者只是为了让“c”等于 3。
-
那不是你的函数返回未定义,也就是说它找不到变量
scrabble
标签: javascript function return undefined