javascript - for循环只循环一次

标签 javascript loops

我的问题是关于一个 for 循环,它似乎只循环一次,我不确定为什么。

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

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

我已阅读有关该主题的所有帖子,但找不到适合我的问题的帖子。我知道我错过了一些简单的东西,只是看不到它。

fiddle :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/

相关文章:

javascript - 在 jVectorMap 上的一些圆圈标记上放置不同的描边颜色和宽度

javascript - 如何在knockoutjs中刷新图像

javascript - 将 Canvas 与 Div 一起保存

javascript - Cordova 3.4.0 : File Api GetFile Abort Error

javascript - 如何比较和匹配两个不同对象的对象键?

python - 在循环中拟合具有不同 Epoch 编号的神经网络,而无需每次都重新开始

c++ - 我的 for 循环执行次数超过预期

javascript - 这是新的 ES6 功能吗?

javascript - 在 Jquery 中为基于 Knack 构建的应用程序创建循环

java - 我们如何使用映射从 double 组中获取唯一元素‽