我想要类似Javascript的内容

如果str.charAt(index)(在{的集合中){“。”,“,”,“#”,“$”,“;”,“:”}

是的,我知道这一定很简单,但是我似乎无法正确理解语法。我现在所拥有的是

theChar = str.charAt(i);
if ((theChar === '.') || (theChar === ',') || (theChar === ... )) {
  // do stuff
}

这可行,但是必须有更好的方法。

编辑:我做到了,但是不确定是否很好:
var punc = {
    ".":true,
    ",":true,
    ";":true,
    ":":true
};

if (punc[str.charAt[index]) { ...

最佳答案

用这些字符定义一个数组,然后简单地在数组中搜索。一种方法如下:

var charsToSearch = [".", ",", "#", "$", ";", ":"];
var theChar = str.charAt(i); /* Wherever str and i comes from */

if (charsToSearch.indexOf(theChar) != -1) {
    /* Code here, the char has been found. */
}

07-28 11:43