工作原理"/>
和>运算符的工作原理
我最近走进了一个高尔夫球鞋,要求检查一个字母是否为大写字母,且不超过9个字符。
用户的回答有点吓人(这些示例也以相反的顺序与>
一起使用:]
f=s=>s<{}
f=c=>c<{}
f=_=>_<f
f=Z=>Z<f
某些变量名称不适用于f
:
f=a=>a<f
f=z=>z<f
<
和>
运算符为何以及如何将函数与基本字符串进行比较?也许指针比较?
尝试一下:
// working
f1=s=>s<{}
f2=c=>c<{}
f3=_=>_<f3
f4=Z=>Z<f4
// not working
f5=s=>s<f5
console.log('f1', f1('A'))
console.log('f1', f1('a'))
console.log('f2', f2('A'))
console.log('f2', f2('a'))
console.log('f3', f3('A'))
console.log('f3', f3('a'))
console.log('f4', f4('A'))
console.log('f4', f4('a'))
console.log('f5', f5('A'))
console.log('f5', f5('a'))
回答如下:将字符串与{}
比较将有效地将字符串与({}).toString()
的结果进行比较,该结果始终为"[object Object]"
。重要的部分是[
字符,它是最后一个大写字母(Z
)之后的第一个代码点。因此,如果您知道输入的字符串是some字母,则与以[
开头的字符串进行比较将告诉您这是一个大写字母。
要清楚,
s => s<{}
有效
s => s<"[object Object]"
与使用对象({}
)时选择的变量名称无关,但是对于函数引用版本而言,这很重要。在这些字符中,“ _”很重要,因为它是“ Z”之后但所有小写字母之前的字符。
更多推荐
和>运算符的工作原理
本文发布于:2024-05-06 18:20:28,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
- 上一篇: Leetcode993:二叉树的堂兄弟节点
- 下一篇: 等待承诺:NodeJS + Express
发布评论