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操作XML作为数据库的类
Dec 19 PHP
php URL跳转代码 减少外链
Jun 25 PHP
用php解析html的实现代码
Aug 08 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php简单实现MVC
Feb 05 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP之预定义接口详解
Jul 29 PHP
php提交post数组参数实例分析
Dec 17 PHP
php实现三级级联下拉框
Apr 17 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
Nov 14 PHP
PHP chr()函数讲解
Feb 11 PHP
PHP时间类完整代码实例
Feb 26 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 foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
PHP学习笔记(二):变量详解
2015/04/17 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
Python做简单的字符串匹配详解
2017/03/21 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
python中的&amp;&amp;及||的实现示例
2019/08/07 Python
Python正则表达式急速入门(小结)
2019/12/16 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
三维科技面试题
2013/07/27 面试题
室内设计实习自我鉴定
2013/09/25 职场文书
入团者的自我评价分享
2013/12/02 职场文书
中级会计职业生涯规划范文
2014/01/16 职场文书
幼儿园毕业典礼主持词
2014/03/21 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
Redis分布式锁的7种实现
2022/04/01 Redis
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫