来自嵌套for循环javascript的奇怪结果

时间:2015-06-20 04:18:13

标签: javascript arrays sorting object

我正在尝试检查提交的字符串对着letteret。如果word_string = "GAR",则应返回"GAR",因为这些字母显示在letterset中。

出于某种原因,某些单词会正确显示,而有些单词会显示缺少的字母。例如,对于word_string = "RAG",这会返回"R""FIG"会返回"FG"

letterset = {0: "R", 1: "A", 2: "G", 3: "A", 4: "O", 5: "E", 6: "F", 7: "I"}


    var ls = [];
    for (prop in letterset) {
        ls.push(letterset[prop]);

    };
    console.log(ls)
    var word_string = '';
    var word = document
               .getElementById('word_container')
               .childNodes;
    for (var i in word) {
        var w = word[i].innerHTML;

        for (var prop=0; prop<ls.length; prop++) {
            if (ls[prop] == w) {
                console.log(w);
                word_string += w;
                ls.splice(prop);

            } 
        }

}

1 个答案:

答案 0 :(得分:2)

我认为你正在错误地使用拼接,不管这有点过于复杂尝试:

 for (var i in word) {
    var w = word[i].innerHTML;
    if (ls.indexOf(w)> -1) {
            word_string += w;
        } 
    }