注意,两个字符串长度为1且不相等时,比如 strA = 'c', strB= 'h'。这个时候会出现判断出错,导致输出结果为1。 实际上是因为当两个字符串相等的时候三目运算符会出错: let long = strA.length > strB.length ? strA : strB; let short = strA.length < strB.length ? strA : strB; 这样得到的 long == short,都为'c'或者'h',因为判断条件都不成立,既不大于也不小于,所以都跳过了第一个结果strA,转而等于strB。 最好的方法是老老实实区分开来,把strA.length== strB.length的情况也算进去。用if else if(strA.length>str.length){ long = strA short = strB }else{ long = strB short = strA }
点赞

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
牛客网
牛客企业服务