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