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 UTF-8、Unicode和BOM问题
May 18 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
JSON在PHP中的应用介绍
Sep 08 PHP
PHP入门之常量简介和系统常量
May 12 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
Jul 28 PHP
基于PHP的简单采集数据入库程序
Jul 30 PHP
又一个PHP实现的冒泡排序算法分享
Aug 21 PHP
PHP解析RSS的方法
Mar 05 PHP
php中实现获取随机数组列表的自定义函数
Apr 02 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
2010/10/22 PHP
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
JS文本框不能输入空格验证方法
2013/03/19 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
2020/12/03 Vue.js
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
在Python中COM口的调用方法
2019/07/03 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
Python魔术方法专题
2020/06/19 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
美术专业学生个人自我评价
2013/09/19 职场文书
社区消防工作实施方案
2014/03/21 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
2014年助理政工师工作总结
2014/12/19 职场文书
新生开学寄语大全
2015/05/28 职场文书
春节随笔
2015/08/15 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript