首页 > web前端 > js教程 > 正文

ArrayList类(增强版)_基础知识

php中文网
发布: 2016-05-16 19:15:39
原创
1088人浏览过

Author:月影
From:http://bbs.51js.com/thread-66469-1-1.html

vx0531启点在线企业网站管理系统
vx0531启点在线企业网站管理系统

启点在线企业网站管理系统是针对外贸中小企业而开发的具有简单易用,功能强大,性价比高,扩展性好,安全性高,稳定性好的单语版系统,可以加快企业网站的开发的速度和减少开发的成本.让不同的用户在懂的少许html语言的基础上,就能够快速的构建一个风格个性化而功能强大的企业网站. 主要功能模块介绍: 1.企业信息:发布介绍企业的各类信息,如公司简介,企业证书,营销网络,联系方式等,还可随意增加删除修

vx0531启点在线企业网站管理系统 165
查看详情 vx0531启点在线企业网站管理系统
复制代码 代码如下:

<script> <BR>function ArrayList() <BR>{ <BR> var ins = Array.apply(this, arguments); <BR> ins.constructor = arguments.callee; <BR> ins.base = Array; <br><br> ins.each = function(closure) <BR> { <BR> if(typeof closure == 'undefined') <BR> closure = function(x){return x}; <BR> if(typeof closure != 'function') <BR> { <BR> var c = closure; <BR> closure = function(x){return x == c} <BR> } <br><br> var ret = new ArrayList(); <BR> var args = Array.apply(this, arguments).slice(1); <br><br> for(var i = 0; i < this.length; i++) <BR> { <BR> var rval = closure.apply(this, [this[i]].concat(args).concat(i)) <BR> if(rval || rval === 0) <BR> ret.push(rval); <BR> } <br><br> return ret; <BR> } <br><br> ins.trim = function() <BR> { <BR> return this.each.apply(this); <BR> } <br><br> ins.all = function(closure) <BR> { <BR> return this.each.apply(this, arguments).length == this.length; <BR> } <br><br> ins.any = function(closure) <BR> { <BR> return this.each.apply(this, arguments).length > 0; <BR> } <br><br> ins.contains = function(el) <BR> { <BR> return this.any(function(x){return x == el}); <BR> } <br><br> ins.indexOf = function(el) <BR> { <BR> var ret = this.each.call(this, function(x, i){return el == x?i:false})[0]; <BR> return ret ? ret : -1; <BR> } <br><br> ins.subarr = function(start, end) <BR> { <BR> end = end || Math.Infinity; <BR> return this.each.call(this, function(x, i){return i >= start && i < end ? x : null}); <BR> } <br><br> ins.valueOf = ins.toString; <br><br> ins.toString = function() <BR> { <BR> return '['+this.valueOf()+']'; <BR> } <br><br> ins.map = function(list, closure) <BR> { <BR> if (typeof list == 'function' && typeof closure != 'function') <BR> { <BR> var li = closure; <BR> closure = list; <BR> list = li; <BR> } <BR> closure = closure || ArrayList; <br><br> return this.each.call(this, function(x, i){return closure.call(this, x, list[i])}); <BR> }; <br><br> ins.slice = function() <BR> { <BR> return this.constructor(ins.base.prototype.slice.apply(this, arguments)); <BR> } <br><br> ins.splice = function() <BR> { <BR> return this.constructor(ins.base.prototype.splice.apply(this, arguments)); <BR> } <br><br> ins.concat = function() <BR> { <BR> return this.constructor(ins.base.prototype.concat.apply(this, arguments)); <BR> } <br><br> return ins; <BR>} <br><br>var a = new ArrayList(1,2,3); <BR>alert(a.length); <BR>alert(a); <BR>alert(a instanceof Array); <BR>alert(a.constructor); <BR>alert(a instanceof ArrayList); // 可惜这个值不对,但是没法实现,只好放弃了 <br><br>alert(a.each(function(x){return x+x})); <BR>alert(a.all(function(x){return x>0})); <BR>alert(a.all(function(x){return x<1})); <BR>alert(a.any(function(x){return x == 2})); <br><br>alert(a.contains(2)); <BR>alert(a.contains(-1)); <br><br>var b = a.map([3,2], function(x, y){return x+y}); <BR>alert(b); <BR>alert(a.map([2,3,4])); <br><br>alert(a.indexOf(2)); <BR>alert(a.indexOf(-1)); <br><br>alert(a.subarr(1,3)); <BR>alert(a.toString()); <BR>var b = new ArrayList(a,a); <BR>alert(b.toString()); <BR>alert(b.slice(1)); <BR></script> 
arr.all 是当数组(集合)中的所有元素都满足条件时,返回true,否则返回false
arr.any 是当数组(集合)中的所有元素中任意一个满足条件时,返回true,如果都不满足,返回false
arr.each 返回由符合条件的每一个元素构成的子数组
arr.map 是匹配两个数组(集合)并把它们的元素用指定闭包进行计算 
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号