我的问题与一个for循环有关,该循环似乎仅循环一次,我不确定为什么。

我正在编写一个将数组元素的最后一个字母与下一个数组元素的第一个字母进行比较的函数。

我的测试输入是数组:[“ Buddy Bear”,“ Romeo”,“ Olive”]。这些都符合条件(最后一个字母与下一个字母匹配),应将其放入数组中。

我已经阅读了有关该主题的所有文章,但找不到适合我问题的文章。我知道我缺少简单的东西,只是看不见。

小提琴:https://jsfiddle.net/qwL8hq3j/

function validName(array){
var lower = []
for(let i = 0; i < array.length; i++){
    lower.push(array[i].toLowerCase());
}
var testA = []
var count = 0;

for(var i = 0; i < lower.length; i++) {
    var j = 1;
    if(lower[i].charAt(lower[i].length-1) === lower[j].charAt(0)){
        testA.push(lower[i]);
        j = j + 1;
        count = count + 1;
    }
  }
  return count;
}


我放入一个计数器以确保代码正在循环并返回1,这使我得出结论,它仅循环一次。我也尝试过几次重新配置代码,但是我不确定自己哪里出错了。

最佳答案

var array = ["heehjko", "oient", "ana", "inm", "mii", "dgdgdfg", "Dove"]

var lower = []
for (let i = 0; i < array.length; i++) {
    lower.push(array[i].toLowerCase());
}
console.log(lower)
var testA = []
var count = 0;

for (var i = 0; i < lower.length; i++) {
    var j = 1;
    console.log(lower[i].charAt(lower[i].length - 1))
    console.log(lower[i + 1])
    if (lower[i + 1] != undefined) {
        if (lower[i].charAt(lower[i].length - 1) === lower[i + 1].charAt(0)) {

            testA.push(lower[i + 1]);
        }
    }

}
console.log(testA)

关于javascript - for循环仅循环一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38298400/

10-12 12:56
查看更多