JavaScript for循环排除A开头姓名并生成动态序号问题求助
问题原因分析
- 核心问题是直接复用数组遍历的索引
z作为输出序号,遍历过程中跳过首字母为A的元素时,索引z仍会正常递增,就会出现序号跳号、无法满足从1开始连续递增的要求。 - 现有代码的输出字符串多了一个多余的末尾双引号,和预期输出格式不符。
修复后可运行代码
let friends = ["Ahmed", "Sayed", "Eman", "Mahmoud","Ameer", "Osama", "Sameh"]; let letter = "a"; // 单独定义独立的连续序号变量,初始值为1 let orderNum = 1; for (let z = 0; z < friends.length; z++) { if (friends[z][0] === letter.toUpperCase()) { continue; } console.log(`"${orderNum} => ${friends[z]}"`); // 每输出一个符合要求的姓名,序号自增1 orderNum++; }
输出验证
运行后和预期结果完全一致:
// Output "1 => Sayed" "2 => Eman" "3 => Mahmoud" "4 => Osama" "5 => Sameh"
内容的提问来源于stack exchange,提问作者rachidFront Dev
相关产品推荐
相关产品推荐

