我有这个非常简单的功能,并且它返回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;
};
答案 0 :(得分:0)
@Magpie,我不确定你的要求。但是,此演示可能会为您提供一些解决问题的建议。
JavaScript的: -
(function () {
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]
];
var valuesLength = values.length;
var letterSplitLength = letterSplit.length;
for (var valuesIndex = 0; valuesIndex < valuesLength; valuesIndex++) {
for (var letterSplitIndex = 0; letterSplitIndex < letterSplitLength; letterSplitIndex++) {
if (values[valuesIndex][0] === letterSplit[letterSplitIndex]) {
newArray.push(values[valuesIndex][1]);
}
}
}
return newArray;
};
var output = scrabble("H e l l o w o r l d");
console.log(output);
alert(output);
}());
输出: -
[2, 1, 4, 1, 1, 1, 1, 1, 1, 4]
JSFiddle演示: - http://jsfiddle.net/w3devjs/6R2X9/