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 09 PHP
PHP中MD5函数使用实例代码
Jun 07 PHP
上传文件先创建目录 再上传到目录里面去
Dec 29 PHP
PHP url 加密解密函数代码
Aug 26 PHP
PHP图片验证码制作实现分享(全)
May 10 PHP
解析php dirname()与__FILE__常量的应用
Jun 24 PHP
PHP中使用BigMap实例
Mar 30 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 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
晶体管来复再生式二管收音机
2021/03/02 无线电
用Zend Encode编写开发PHP程序
2006/10/09 PHP
PHP编码规范-php coding standard
2007/03/16 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
Python复制文件操作实例详解
2015/11/10 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
美国百货齐全的精品网站,提供美式风格的产品:Overstock.com
2016/07/22 全球购物
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
幼儿教师工作感言
2014/02/14 职场文书
物流管理专业求职信
2014/05/29 职场文书
语文教研活动总结
2014/07/02 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
中学校园广播稿
2015/08/18 职场文书
员工安全责任协议书
2016/03/22 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python