JavaScript打印数组中最短名称的代码运行异常求修正方案
问题原因
现有代码的判断逻辑存在错误:直接写char < tiny是对两个字符串执行字典序比较(按Unicode编码值逐位比对),并非比较字符串的长度,因此输出结果不符合预期。
修正方案
仅需要修改循环内的if判断条件,改为比对两个字符串的长度属性即可:
将原代码中的判断语句
if (char < tiny) {
替换为
if (char.length < tiny.length) {
完整修正后代码
var tinyFriend = ["hasan", "md", "mdhasan", "zahdhasan"]; var tiny = tinyFriend[0]; for (var i = 0; i < tinyFriend.length; i++) { var char = tinyFriend[i]; if (char.length < tiny.length) { tiny = char; } } console.log(tiny); // 输出结果为 md,符合需求
内容的提问来源于stack exchange,提问作者MD_Hasan
相关产品推荐
相关产品推荐

