javascript some()函数用法详解


Posted in PHP onNovember 13, 2014

参数说明
callback: 要对每个数组元素执行的回调函数。
thisObject : 在执行回调函数时定义的this对象。

功能说明
对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 true,如果发现这个元素,some 将返回 true,如果回调函数对每个元素执行后都返回 false ,some 将返回 false。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。

回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。

如参数 thisObject 被传递进来,它将被当做回调函数(callback)内部的 this 对象,如果没有传递或者为null,那么将会使用全局对象。

<script language="JavaScript" type="text/javascript"> 

if (!Array.prototype.some) 

{ 

    Array.prototype.some = function(fun /*, thisp*/) 

    { 

        var len = this.length; 

        if (typeof fun != "function") 

            throw new TypeError(); 

        var thisp = arguments[1]; 

        for (var i = 0; i < len; i++) 

        { 

            if (i in this && fun.call(thisp, this[i], i, this)) 

                return true; 

        } 

        return false; 

    }; 

} 

</script>

some 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。

检查是否所有的数组元素都大于等于10

<script language="JavaScript" type="text/javascript">

if(!Array.prototype.some)

{

Array.prototype.some=function(fun)

{

var len=this.length;

if(typeof fun!="function")

throw new TypeError();

var thisp=arguments[1];for(var i=0;i<len;i++)

{

if(i in this&&fun.call(thisp,this[i],i,this))

return true;}

return false;};

}

function isBigEnough(element,index,array){return(element>=10);}

var passed=[2,5,8,1,4].some(isBigEnough);

document.writeln("[2, 5, 8, 1, 4].some(isBigEnough) :<strong>");

document.writeln(passed?'true':'false');

document.writeln("</strong><br />");

passed=[12,5,8,1,4].some(isBigEnough);

document.writeln("[12, 5, 8, 1, 4].some(isBigEnough) :<strong>");

document.writeln(passed?'true':'false');

document.writeln("</strong><br />");

</script>

function isBigEnough(element, index, array) {

 return (element >= 10);

}

var passed = [2, 5, 8, 1, 4].some(isBigEnough);

// passed is false

passed = [12, 5, 8, 1, 4].some(isBigEnough);

// passed is true

小伙伴们是否对some()函数有所了解了呢,有什么问题也可以给我留言

PHP 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
php中文本操作的类
Mar 17 PHP
理解php原理的opcodes(操作码)
Oct 26 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
ThinkPHP的Widget扩展实例
Jun 19 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
PHP使用递归算法无限遍历数组示例
Jan 13 PHP
php图像验证码生成代码
Jun 08 PHP
针对PHP开发安全问题的相关总结
Mar 22 PHP
php获取随机数组列表的方法
Nov 13 #PHP
php中chdir()函数用法实例
Nov 13 #PHP
php之readdir函数用法实例
Nov 13 #PHP
dedecms中使用php语句指南
Nov 13 #PHP
php 使用file_get_contents读取大文件的方法
Nov 13 #PHP
php合并数组中相同元素的方法
Nov 13 #PHP
php魔术变量用法实例详解
Nov 13 #PHP
You might like
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
开发Node CLI构建微信小程序脚手架的示例
2020/03/27 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python中psutil的介绍与用法
2019/05/02 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
python zip()函数使用方法解析
2019/10/31 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
学生会竞聘书范文
2014/03/31 职场文书
项目合作意向书范本
2014/04/01 职场文书
计算机毕业生求职信
2014/06/10 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
工程承包协议书范本
2014/09/29 职场文书
教师工作表现评语
2014/12/31 职场文书
党员进社区活动总结
2015/05/07 职场文书
承兑汇票延期证明
2015/06/23 职场文书
idea下配置tomcat避坑详解
2022/04/12 Servers
方法汇总:Python 安装第三方库常用
2022/04/26 Python