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 反射机制实现动态代理的代码
Oct 22 PHP
wamp下修改mysql访问密码的解决方法
May 07 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
php查询及多条件查询
Feb 26 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP实现登录验证码校验功能
May 17 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
页面中js执行顺序
2009/11/09 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
微信小程序 form组件详解及简单实例
2017/01/10 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python浪漫表白源码
2019/04/05 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
python中图像通道分离与合并实例
2020/01/17 Python
tensorflow之并行读入数据详解
2020/02/05 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
Python插件机制实现详解
2020/05/04 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
Python中对象的比较操作==和is区别详析
2021/02/12 Python
深圳-东方伟业笔试部分
2015/02/11 面试题
优秀大学生的自我评价
2014/01/16 职场文书
英文演讲稿
2014/05/15 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书