正则表达式和数组:最有效的方法
Regex and Array: Most efficient approach
我想从数组中获取所有带有<=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 语句。
不需要正则表达式,试试这个:
var arr = ["cat", "apple", "window", "dog"];
var len = arr.length;
for(len; len<=0; len--){
if(arr[len].length <= 3){
console.log(arr[len]);
}
}
编辑:如果您不想显式定义 for 循环和 if 语句,请尝试使用 .filter()
和 .match()
:
var arr = ["cat", "apple", "window", "dog"];
var AcceptedItems = arr.filter(function(item) {
return item.match(/^[a-z]{1,3}$/);
});
我假设你想返回甚至像"1abc"这样的单词,因为它只有 3 个字母。
下面将使用数组filter
函数。
arr = ["cat", "apple", "window", "dog", "1acb", "1abcd"];
function getLessThanThree(anArray){
return anArray.filter(function(v){
return !( /[a-zA-Z]{3}./.exec(v) );
})
}
console.log(getLessThanThree(arr)); // logs [ 'cat', 'dog', '1acb' ]
在这里测试
如果你想获得与数组中的东西匹配的项目,你需要迭代它。
无论如何,从 ECMA-Script 5 开始,您将按如下方式重构代码:
var results = arr.filter(function(item) { return item.lengh <= 3; });
或在 ECMA 脚本 6 及更高版本中:
var results = arr.filter(item => item.length <= 3);
在生产力方面,你会更快。
你在JavaScript中。它已经可以做到这一点,不需要正则表达式。
var arr = ["cat", "apple", "window", "dog"];
var filtered = arr.filter(function(e) { return e.length <= 3; });
做。使用 ES6 获得更简单的语法:
var filtered = arr.filter(e => e.length <= 3);
有很多方法可以给这只猫剥皮,我喜欢:
var arr = ["cat", "apple", "window", "dog"];
var upToThreeLetters = function(word) {
return word.length <= 3;
}
var filteredArr = arr.filter(upToThreeLetters);
相关文章:
- 在jQuery中创建向下滑动子菜单的最有效方法
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 选择具有值数组的所有元素的最有效方法
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- 将javascript数组中的项移动到特定位置的有效方法
- 将JS对象数组转换为嵌套形式的最有效方法
- 隐藏具有特定类$.each、for等的元素的有效方法
- 什么's是调用具有可变参数的函数的有效方法
- 选择具有特定数据的所有 html 标记的最有效方法是什么 - [适当性],无论值如何
- 使用 jQuery 调用 PHP 端点的最有效方法
- 这是解析 Int 的有效方法吗?
- 在JavaScript中搜索数组映射的最有效方法
- 获取字符串中最后一个换行符的最有效方法是什么
- 什么's是在两个(或多个)阵列中找到匹配的细胞序列的最有效方法
- 什么's是在IE8+中添加元素的最有效方法
- 从任何jquery选择器字符串创建元素的最有效方法
- 在日期范围内查找丢失日期的最有效方法是什么
- 对区间[1,10^12]中的整数进行编码/解码的快速有效方法是什么
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 在ASP.NET中使用JQuery UI自动完成的有效方法