您是否尝试过:
给出两个函数(预期输出为//d
:]:>
function fearNotLetter(str) { for (let i = 0; i < str.length; i++) { let code = str.charCodeAt(i) if (code !== str.charCodeAt(0) + i) { return String.fromCharCode(str.charCodeAt(0) + i) } } return undefined } fearNotLetter("abce"); // d
和
function fearNotLetter(str) { for (let i in str) { let code = str.charCodeAt(i) if (code !== str.charCodeAt(0) + i) { return String.fromCharCode(str.charCodeAt(0) + i) } } return undefined } fearNotLetter("abce"); // ϊ
我发现使用
i
循环将for...in
的值强制为字符串。在我的理解中,if语句失败,因为i
的值不再是数字,所以总和无法完成。我的问题是,为什么JS不将i
强制转换为if语句(str.charCodeAt(0) + i )
中的数字?并允许以与他for...loop
相同的方式进行总和?是因为一旦i
在函数内部被强制后,便无法再次被强制?
给出两个函数(预期输出为// d):function fearNotLetter(str){for(let i = 0; i
您是否尝试过:
str.charCodeAt(parseInt(i, 10))
您是否尝试过: