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 多维数组排序(usort,uasort)
Jun 30 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
php实现读取超大文件的方法
Jul 28 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
php使用fputcsv()函数csv文件读写数据的方法
Jan 06 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
PHP模板引擎Smarty自定义变量调解器用法
Apr 11 PHP
PHP基本语法实例总结
Sep 09 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP number_format函数原理及实例解析
Jul 14 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
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
smarty中js的调用方法示例
2014/10/27 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
js实现二级导航功能
2017/03/03 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
使用python加密自己的密码
2015/08/04 Python
Python线程指南详细介绍
2017/01/05 Python
Python实现完整的事务操作示例
2017/06/20 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
python发送邮件脚本
2018/05/22 Python
python使用Turtle库绘制动态钟表
2018/11/19 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
浅析python中while循环和for循环
2019/11/19 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
编程用JAVA解析XML的方式
2013/07/07 面试题
音乐教育感言
2014/03/05 职场文书
校庆活动策划方案
2014/06/05 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
师德师风自我评价范文
2014/09/11 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技