javascript - 为什么这个 'repeated character"查找功能不能正常工作?

标签 javascript

JavaScript
如果字符串中存在重复字符,该函数将给出输出“true”, 否则它将输出“false”

function repeatChar(str) {
  for (let char of str.toLowerCase()) {
    if (str.indexOf(char) !== str.lastIndexOf(char)) {
      return true;
    }
  }
  return false;
}
console.log(repeatChar('aA')); //expected output "true" but here output is "false"... Why??

最佳答案

您正在搜索原始字符串中的小写字符,该字符尚未转换为全部小写。

您应该在循环之前将 str 替换为其小写版本。

function repeatChar(str) {
  str = str.toLowerCase();
  for (let char of str) {
    if (str.indexOf(char) !== str.lastIndexOf(char)) {
      return true;
    }
  }
  return false;
}
console.log(repeatChar('aA')); //expected output "true" but here output is "false"... Why??

关于javascript - 为什么这个 'repeated character"查找功能不能正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62965030/

相关文章:

javascript - Angular1/JavaScript - 改进算法条件

javascript - 解析 JavaScript SDK 和 Promise Chaining

javascript - 我怎样才能延迟一个功能

javascript - 模块中的数据依赖

javascript - 打开一个新选项卡并在其中运行 javascript

javascript - 如何将 Raphael Js Canvas 显示/下载为图像(png/gif)?

c# - 尝试在 Angularjs 中动态绑定(bind)我的 "ng-true-value"

javascript - 将一个 div 制作成一个按钮,当我按下它时它会改变颜色

javascript - 使用 knockout 和 javascript 函数启用输入键

javascript - Firebase 数据库查询返回 null(函数)