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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
php 图片上传类代码
Jul 17 PHP
php变量作用域的深入解析
Jun 03 PHP
php实现的返回数据格式化类实例
Sep 22 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
PHP命名空间和自动加载类
Apr 03 PHP
php 解决substr()截取中文字符乱码问题
Jul 18 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 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
simplehtmldom Doc api帮助文档
2012/03/26 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
Jquery给基本控件的取值、赋值示例
2014/05/23 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
Django与JS交互的示例代码
2017/08/23 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
python2与python3共存问题的解决方法
2018/09/18 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
Django实现内容缓存实例方法
2020/06/30 Python
Python中过滤字符串列表的方法
2020/12/22 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
创建精神文明单位实施方案
2014/03/08 职场文书
企业法人授权委托书
2014/04/03 职场文书
初中班主任寄语
2014/04/04 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
思想作风整顿个人剖析材料
2014/10/06 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
助学金感谢信
2015/01/20 职场文书
小学语文国培研修日志
2015/11/13 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis