JavaScript中的some()方法使用详解
JavaScript数组some()方法测试数组中的某个元素是否通过由提供的功能来实现测试。
语法
array.some(callback[,thisObject]);
下面是参数的详细信息:
- callback:函数用来测试每个元素。
- thisObject:对象作为该执行回调时使用。
返回值:
如果某些元素通过测试则返回true,否则为false。
兼容性:
这个方法是一个JavaScript扩展到ECMA-262标准;因此它可能不存在在标准的其他实现。为了使它工作,你需要添加下面的脚本代码放到顶部:
if(!Array.prototype.some)
{
Array.prototype.some=function(fun/*,thisp*/)
{
varlen=this.length;
if(typeoffun!="function")
thrownewTypeError();
varthisp=arguments[1];
for(vari=0;i<len;i++)
{
if(iinthis&&
fun.call(thisp,this[i],i,this))
returntrue;
}
returnfalse;
};
}
例子:
<html>
<head>
<title>JavaScriptArraysomeMethod</title>
</head>
<body>
<scripttype="text/javascript">
if(!Array.prototype.some)
{
Array.prototype.some=function(fun/*,thisp*/)
{
varlen=this.length;
if(typeoffun!="function")
thrownewTypeError();
varthisp=arguments[1];
for(vari=0;i<len;i++)
{
if(iinthis&&
fun.call(thisp,this[i],i,this))
returntrue;
}
returnfalse;
};
}
functionisBigEnough(element,index,array){
return(element>=10);
}
varretval=[2,5,8,1,4].some(isBigEnough);
document.write("Returnedvalueis:"+retval);
varretval=[12,5,8,1,4].some(isBigEnough);
document.write("<br/>Returnedvalueis:"+retval);
</script>
</body>
</html>
这将产生以下结果:
Returnedvalueis:false Returnedvalueis:true