在字符串上使用in循环可以吗?

乔·斯皮内利

只是想知道是否可以在字符串上使用for in循环。不知道是否会有奇怪的结果或不好的做法,但是我的解决方案至少在此示例中有效。

编码练习题。另外,如果有人可以改善我的解决方案,我也乐意为您提供建议。

function firstNonRepeatingLetter(str) {
  const lowerStr = str.toLowerCase();

  for (let char in lowerStr) {
    if (lowerStr.lastIndexOf(lowerStr[char]) === parseInt(char) && 
    lowerStr.indexOf(lowerStr[char]) === parseInt(char)) {
      return str[char];
    }
  }

  return "";
}

编写一个名为的函数first_non_repeating_letter该函数接受string输入,并返回字符串中任何地方都没有重复的第一个字符。

例子:

firstNonRepeatingLetter('a') => 'a'
firstNonRepeatingLetter('stress') => 't'
firstNonRepeatingLetter('sTreSS') => 'T'
妮娜·斯科茨(Nina Scholz)

当您的代码正常工作时,建议使用索引来迭代字符串的字符。

但是您的方法通过使用indexOf将字符串迭代到很多lastIndexOf这可以通过使用存储字符的最后发现索引的循环来更改。

在另一个循环中,将实际索引与相同字符的存储索引进行比较,如果相等则返回。

function firstNonRepeatingLetter(str) {
    var lowerStr = str.toLowerCase(),
        hash = {},
        i;

    for (i = 0; i < lowerStr.length; i++)
        hash[lowerStr[i]] = i;

    for (i = 0; i < lowerStr.length; i++)
        if (hash[lowerStr[i]] === i)
            return str[i];

    return "";
}

console.log(firstNonRepeatingLetter('a'));      // a
console.log(firstNonRepeatingLetter('stress')); // t
console.log(firstNonRepeatingLetter('sTreSS')); // T

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

来自分类Dev

我可以在查询字符串上使用swagger-php使用数组吗?

来自分类Dev

编译器可以优化字符串上的ToString()吗?

来自分类Dev

编译器可以优化字符串上的ToString()吗?

来自分类Dev

在循环条件下使用count($ arr)可以吗

来自分类Dev

使用printf可以吗?

来自分类Dev

使用pageswitch可以吗?

来自分类Dev

我可以在char16_t的字符串上使用STL正则表达式库吗?

来自分类Dev

在字符串上使用awk

来自分类Dev

在字符串上使用模式

来自分类Dev

为什么我们不能像 For 循环那样在字符串上使用 Foreach 循环

来自分类Dev

在hbase中将所有整数存储为字符串而不是byte []可以吗?

来自分类Dev

将控制器名称作为字符串可以吗?

来自分类Dev

在JavaScript的连续循环中使用相同的变量可以吗?

来自分类Dev

使用LinearLayout代替FrameLayout可以吗?

来自分类Dev

在<code>中使用<div>可以吗?

来自分类Dev

使用可以吗?每个方法

来自分类Dev

使用模块命名空间,可以吗?

来自分类Dev

使用JSoup登录网站,可以吗?

来自分类Dev

我可以使用嵌套的for循环遍历列表中的完整字符串吗?

来自分类Dev

如何在字符串上使用gzip?

来自分类Dev

Javascript / Jquery:在字符串上使用+号。

来自分类Dev

在输入字符串上使用分割

来自分类Dev

如何在字符串上使用.replace()

来自分类Dev

在函数字符串上使用eval

来自分类Dev

是否可以在数学字符串上使用 isalpha() 并且在 python 中仍然返回 True?

来自分类Dev

将计算放在for循环的主体中可以吗?

来自分类Dev

自动热键,在多个匹配的窗口之间循环,可以吗?

来自分类Dev

字符串上的for / in循环是什么意思?

Related 相关文章

  1. 1

    如果字符串中包含空格,我仍然可以在字符串上使用tsort吗?

  2. 2

    我可以在查询字符串上使用swagger-php使用数组吗?

  3. 3

    编译器可以优化字符串上的ToString()吗?

  4. 4

    编译器可以优化字符串上的ToString()吗?

  5. 5

    在循环条件下使用count($ arr)可以吗

  6. 6

    使用printf可以吗?

  7. 7

    使用pageswitch可以吗?

  8. 8

    我可以在char16_t的字符串上使用STL正则表达式库吗?

  9. 9

    在字符串上使用awk

  10. 10

    在字符串上使用模式

  11. 11

    为什么我们不能像 For 循环那样在字符串上使用 Foreach 循环

  12. 12

    在hbase中将所有整数存储为字符串而不是byte []可以吗?

  13. 13

    将控制器名称作为字符串可以吗?

  14. 14

    在JavaScript的连续循环中使用相同的变量可以吗?

  15. 15

    使用LinearLayout代替FrameLayout可以吗?

  16. 16

    在<code>中使用<div>可以吗?

  17. 17

    使用可以吗?每个方法

  18. 18

    使用模块命名空间,可以吗?

  19. 19

    使用JSoup登录网站,可以吗?

  20. 20

    我可以使用嵌套的for循环遍历列表中的完整字符串吗?

  21. 21

    如何在字符串上使用gzip?

  22. 22

    Javascript / Jquery:在字符串上使用+号。

  23. 23

    在输入字符串上使用分割

  24. 24

    如何在字符串上使用.replace()

  25. 25

    在函数字符串上使用eval

  26. 26

    是否可以在数学字符串上使用 isalpha() 并且在 python 中仍然返回 True?

  27. 27

    将计算放在for循环的主体中可以吗?

  28. 28

    自动热键,在多个匹配的窗口之间循环,可以吗?

  29. 29

    字符串上的for / in循环是什么意思?

热门标签

归档