我有以下代码:
var specialchars = [246,214,228,196,252,220,223]; // holds german umlauts + ß
var foo = "abcdefä41hl";检测foo是否包含数组中字符的ascii代码的最佳实践是什么?在这种情况下,它将返回true,因为它包含"ä“(ascii代码228)。
谢谢
发布于 2016-11-10 23:35:29
你可以通过以下方式检测到它:
var specialchars = [246,214,228,196,252,220,223];
var foo = "abcdefä41hl";
var isExist = !!([...foo].find(itm => specialchars.includes(itm.charCodeAt())));
console.log(isExist); // true或者,您可以使用Array.prototype.some代替注释中建议的find,
var isExist = [...foo].some(itm => specialchars.includes(itm.charCodeAt()));发布于 2016-11-10 23:35:48
很容易做到:
foo.split("").filter(c => specialchars.indexOf(c.charCodeAt()) != -1).length != 0它将字符串拆分成一个字符数组,只保留存在于特殊字符列表中的字符,并检查是否有剩余字符。
https://stackoverflow.com/questions/40531307
复制相似问题