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 相关文章推荐
给php新手谈谈我的学习心得
Feb 25 PHP
PHP 函数语法介绍一
Jun 14 PHP
PHP开发微信支付的代码分享
May 25 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
php实现求相对时间函数
Jun 15 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
利用php + Laravel如何实现部署自动化详解
Oct 11 PHP
php解析非标准json、非规范json的方式实例
Dec 10 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个人网站架设连环讲(一)
2006/10/09 PHP
封装一个PDO数据库操作类代码
2009/09/09 PHP
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
使用python实现扫描端口示例
2014/03/29 Python
python中__call__内置函数用法实例
2015/06/04 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
应届生如何写自荐信
2014/01/05 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
房地产财务管理制度
2014/02/02 职场文书
实训报告范文大全
2014/11/04 职场文书
升职自我推荐信范文
2015/03/25 职场文书
收银员岗位职责范本
2015/04/07 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
Python中的 enumerate和zip详情
2022/05/30 Python