JavaScript函数调用后未执行问题排查(吉他和弦转调场景)
问题排查与修复
你的函数无输出的核心问题是for循环的终止条件错误:
原代码中循环条件写的是 i < inputArr,但inputArr是数组类型,在数值比较时会被隐式转换为字符串(比如你的数组会变成 "17,12,20"),进一步转换为数字时会得到NaN。由于0 < NaN的结果是false,循环体根本不会执行,自然没有任何输出。
修正后的代码如下:
function findNewChordNums(inputArr){ for(let i=0; i < inputArr.length; i++){ console.log(inputArr[i]); } return 0; }; findNewChordNums(inputChordNums);
只需把循环条件中的inputArr替换为inputArr.length,就能正确遍历数组的所有元素,控制台会依次打印17、12、20。另外你怀疑的返回值0不影响函数执行,这不是问题所在。
内容的提问来源于stack exchange,提问作者Nolan Williams
相关产品推荐
相关产品推荐

