我从谷歌获得了一个功能,但我无法理解。我还需要编写反向函数
有人可以解释逻辑吗?计算AA如何变为26以及语法如果你想...
这一个:当你输入27时它会给你一个
function idOf(i) {
return (i >= 26 ? idOf((i / 26 >> 0) - 1) : '') + 'abcdefghijklmnopqrstuvwxyz'[i % 26 >> 0];
}
答案 0 :(得分:1)
好的,让我们把它分解。
(i >= 26 ? idOf((i / 26 >> 0) - 1) : '')
如果i大于25,则函数将递归调用自身。如果它小于26,它将返回一个空字符串
''是一个三元运算符。您可以将其翻译为
if (i= 26) { return idOf((i / 26 >> 0) - 1) } else { return '' }
下一节:
+ 'abcdefghijklmnopqrstuvwxyz'[i % 26 >> 0]
这将获得字符串x位置的字母,x为(i%26>> 0)并将其添加到上一部分的字符串
i%26>> 0似乎只是获得i%26的重新映射。如果你想阅读这个运算符,请结帐MDN