如何在此代码中添加变量以捕获“prev”,以便可以将其与当前值进行比较?

时间:2014-06-06 06:38:37

标签: javascript regex string

我被困住了,想知道是否有人可以帮助我。如何在下面创建一个变量来重置并捕获我的数组中先前迭代的字符?

下面,我尝试取一个字符串(var str = "example Hello apple pie;"),将其拆分为单个单词(例如,["example", "Hello", "apple", "pie"]),然后一次将一个单词拆分为单个字符(例如。[["e", "x", "a", "m", "p", "l", "e"], ["H", "e"...并排序,以便每个重复的字母与其他字母相邻(例如,a,e,e,l,m,p,x),如果有任何欺骗的话。在我们的第一个例子中,我们可以看到有两个重复一旦它被排序,它就会在“示例”中彼此相邻。

然后我想在排序后的单词中一次比较两个字符。我想要比较prevcurrentChar。我不知道如何构造代码以便能够做到这一点并走到我想要去的地方。首先需要将变量"prev"设置为默认值"0",并将currentChar设置为上述单词中的第一个字符(即,“a”) 。由于它们不相等,我们将跳到下一个字母,并用“a”重置prev。下一个字母是“e”。所以“e”不等于“a”,我们再向前移动一个字符,直到prevcurrentChar == e。那时,我们将counter++添加到计数器1,并继续到单词的结尾,这样我就可以添加currentItem(即,键将是“示例”)到hashObject,其值为counter.length,使hashObject成为一个单词列表,每个单词旁边都有相应数量的匹配对。

var str = "Hello apple pie";


function LetterCountI(str){
    var input = str.split(" ");
    var hashObject = {};

    for(var i = 0; i<input.length; i++) {
        currentItem = input[i];
        var currentWordIntoChars = currentItem.split("").sort();
        var counter = 0;
        var prev = "0";
        console.log(currentWordIntoChars + "   ");
        for(var e in currentWordIntoChars) {
            var currentChar = currentWordIntoChars[e];
            counter++;
            console.log(currentChar + " = Current Item #" + counter);
            //console.log(currentItem + " = the name of the item");

        }
        console.log("\n");
    }
}
console.log(LetterCountI(str));

0 个答案:

没有答案