使用 "grep" 进行条件匹配并打印 jQuery 中的数组值
Using "grep" for conditional matching and printing array values in jQuery
我正在尝试打印或警告数组 alpha 中的值,这些值从字母 "P" 开始。因此,我必须收到 2 个警报,即 Peter 和 Pamela。但是,我无法获得所需的 2 个警报。有人可以帮助我仅使用 grep 打印两个 "P" 起始值吗?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<script>
var alpha = ["Peter","Jones","Pamela"];
$.grep(alpha,function(i,value){if (alpha[value]=="P*") {alert (alpha[value]) ;} })
</script>
</body>
</html>
这个怎么样if(alpha[value].indexOf('P') == 0)
注意 grep
将 return 一个数组,如果你只使用 alert
那么你最好使用 each
我认为。
为什么不使用 each
循环,$.grep
用于过滤数组。
要检查字符串中的第一个字母,请使用 indexOf
并查看匹配项是否为零、字符串中的第一个字母等
var alpha = ["Peter","Jones","Pamela"];
$.each(alpha, function(index, item) {
if ( item.indexOf('P') === 0 ) alert(item);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
如果只用$.grep
也是一样
$.grep(alpha, function(item, index) {
if ( item.indexOf('P') === 0 ) alert(item);
});
只是开销更大,因为 $.grep
需要 return 值来过滤
如果你真的想使用 $.grep,试试这个:
$.grep(alpha, function(e,i) {return e.indexOf('P')===0;}).each(function(i,v){alert(v);});
我正在尝试打印或警告数组 alpha 中的值,这些值从字母 "P" 开始。因此,我必须收到 2 个警报,即 Peter 和 Pamela。但是,我无法获得所需的 2 个警报。有人可以帮助我仅使用 grep 打印两个 "P" 起始值吗?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
<script>
var alpha = ["Peter","Jones","Pamela"];
$.grep(alpha,function(i,value){if (alpha[value]=="P*") {alert (alpha[value]) ;} })
</script>
</body>
</html>
这个怎么样if(alpha[value].indexOf('P') == 0)
注意 grep
将 return 一个数组,如果你只使用 alert
那么你最好使用 each
我认为。
为什么不使用 each
循环,$.grep
用于过滤数组。
要检查字符串中的第一个字母,请使用 indexOf
并查看匹配项是否为零、字符串中的第一个字母等
var alpha = ["Peter","Jones","Pamela"];
$.each(alpha, function(index, item) {
if ( item.indexOf('P') === 0 ) alert(item);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
如果只用$.grep
也是一样
$.grep(alpha, function(item, index) {
if ( item.indexOf('P') === 0 ) alert(item);
});
只是开销更大,因为 $.grep
需要 return 值来过滤
如果你真的想使用 $.grep,试试这个:
$.grep(alpha, function(e,i) {return e.indexOf('P')===0;}).each(function(i,v){alert(v);});