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代码
Apr 09 PHP
关于php正则匹配汉字的方法介绍
Apr 25 PHP
PHP 正则表达式小结
Feb 12 PHP
使用PHP实现微信摇一摇周边红包
Jan 04 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
PHP面向对象类型约束用法分析
Jun 12 PHP
php源码的安装方法和实例
Sep 26 PHP
laravel框架使用极光推送消息操作示例
Feb 15 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
php读取本地json文件的实例
2018/03/07 PHP
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JavaScript中通过提示框跳转页面的方法
2016/02/14 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
node的process以及child_process模块学习笔记
2018/03/06 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
Python温度转换实例分析
2018/01/17 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
python实现3D地图可视化
2020/03/25 Python
Python中logger日志模块详解
2020/08/04 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
幼儿园优秀教师事迹
2014/02/13 职场文书
房地产广告策划方案
2014/05/15 职场文书
总经理助理岗位职责
2015/01/31 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
《失物招领》教学反思
2016/02/20 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js