龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

javascript filter()函数用法之过滤掉小于 10 的数组元素实例

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
文章用一个简单的实例来介绍了关于javascript filter()在数组中的用法,filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素
文章用一个简单的实例来介绍了关于javascript filter()在数组中的用法,filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。

代码:
--------------------------------------------------------------------------------

 代码如下
function isBigEnough(element, index, array) {
 return (element >= 10);
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);

// 12, 130, 44
结果:
--------------------------------------------------------------------------------
 [12, 5, 8, 130, 44].filter(isBigEnough) : 12, 130, 44

完整实例

 代码如下

<script language="JavaScript" type="text/javascript">
if(!Array.prototype.filter)
{
Array.prototype.filter=function(fun)
{
var len=this.length;
if(typeof fun!="function")
throw new TypeError();
var res=new Array();
var thisp=arguments[1];
for(var i=0;i<len;i++)
{if(i in this)
{var val=this[i];if(fun.call(thisp,val,i,this))
res.push(val);}}
return res;};}

function isBigEnough(element,index,array){return(element>=10);}
var filtered=[12,5,8,130,44].filter(isBigEnough);
document.writeln("[12, 5, 8, 130, 44].filter(isBigEnough) :<strong>");
document.writeln(filtered.join(", "));
document.writeln("</strong><br />");
</script>


精彩图集

赞助商链接