我的问题是关于一个 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/