javascript - 如果 charAt 等于字符列表

标签 javascript charat

我想在 Javascript 中实现如下内容

if 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. */
}

关于javascript - 如果 charAt 等于字符列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384028/

相关文章:

javascript - node.js eventemitter 创建多个对象还是依赖参数?

javascript - simpleCart.js - 使用 beforeAdd() 调用购物车中单个商品的数量;

java - 如何在Java中找到小于和大于之间的文本,然后去掉<>?

javascript - 防止 jQuery 中的双重事件绑定(bind)

javascript - 如何获取最里面对象的键

javascript - 为什么 charAt() 和 charCodeAt() 被称为安全?

javascript - 标题大小写 JavaScript

java - IndexOutOfBounds 异常 Java String 类 charAt 方法

javascript - Angular/ ionic 不适用于 iOS 10

java - charAt 产生不同的输出