【发布时间】:2016-05-29 21:47:25
【问题描述】:
我想从数组中获取所有带有<=3 字母的单词。
迭代数组并检查每个条目是一种有效的方法吗?
arr = ["cat", "apple", "window", "dog"];
for(i=0; i<arr.length; i++){
if(arr[i].match(/^[a-z]{3}$/)){
console.log(arr[i])
}
}
//returns: "cat" and "dog"
或者是否已经有一个内置函数可以为我完成这项工作,所以我不必显式定义 for 循环和 if 语句。
【问题讨论】:
-
检查每个字符串的
.length怎么样? -
更多的是使用正则表达式和数组。在我的示例中,将执行哪种正则表达式不太重要。
-
也许你可以使用
RegRxp.test(string),见regex.test V.S. string.match to know if a string matches a regular expression。 -
所以你想使用正则表达式来使用正则表达式?好的。
-
@user1170330 不,你不是。您的问题清楚地表明您希望数组中的所有元素都具有某种长度限制。这与需要正则表达式无关;只需使用
filter,它已经融入 JS 并且已经使用多年了。
标签: javascript arrays regex