当我调用它时,为什么这个函数未定义?

时间:2014-07-12 18:10:01

标签: javascript function return undefined

我有这个非常简单的功能,并且它返回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;
}; 

1 个答案:

答案 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/

相关问题