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 相关文章推荐
一个程序下载的管理程序(二)
Oct 09 PHP
笑谈配置,使用Smarty技术
Jan 04 PHP
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
MySQL授权问题总结
May 06 PHP
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
php将数据库导出成excel的方法
May 07 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 PHP
PHP中实现获取IP和地理位置类分享
Feb 10 PHP
PHP常量define和const的区别详解
May 18 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
7个超级实用的PHP代码片段
2011/07/11 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
2014/09/29 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
python中xrange和range的区别
2014/05/13 Python
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
django 常用orm操作详解
2017/09/13 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Django app配置多个数据库代码实例
2019/12/17 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
python 动态绘制爱心的示例
2020/09/27 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
CSS3按钮鼠标悬浮实现光圈效果源码
2016/09/11 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
在校学生职业规划范文
2014/01/08 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
先进单位申报材料
2014/12/25 职场文书
法律意见书范文
2015/05/20 职场文书
紧急迫降观后感
2015/06/15 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
oracle索引总结
2021/09/25 Oracle
使用Python拟合函数曲线
2022/04/14 Python