javascript数组的扩展实现代码集合


Posted in Javascript onJune 01, 2008

Array.prototype.del = function(n)
{
    if (n<0) return this;
    return this.slice(0,n).concat(this.slice(n+1,this.length));
}
// 数组洗牌
Array.prototype.random = function()
{
    var nr=[], me=this, t;
    while(me.length>0)
    {
        nr[nr.length] = me[t = Math.floor(Math.random() * me.length)];
        me = me.del(t);
    }
    return nr;
}
// 数字数组排序
Array.prototype.sortNum = function(f)
{
    if (!f) f=0;
    if (f==1) return this.sort(function(a,b){return b-a;});
    return this.sort(function(a,b){return a-b;});
}
// 获得数字数组的最大项
Array.prototype.getMax = function()
{
    return this.sortNum(1)[0];
}
// 获得数字数组的最小项
Array.prototype.getMin = function()
{
    return this.sortNum(0)[0];
}
// 数组第一次出现指定元素值的位置
Array.prototype.indexOf = function(o)
{
    for (var i=0; i<this.length; i++) if (this[i]==o) return i;
    return -1;
}
// 移除数组中重复的项
Array.prototype.removeRepeat=function()
{
    this.sort();
    var rs = [];
    var cr = false;
    for (var i=0; i<this.length; i++)
    {
        if (!cr) cr = this[i];
        else if (cr==this[i]) rs[rs.length] = i;
        else cr = this[i];
    }
    var re = this;
    for (var i=rs.length-1; i>=0; i--) re = re.del(rs[i]);
    return re;
}

例子:
var arr=["ni","wo","ta"];
删除数组中的“wo”
var newArr=arr.del(1);
返回数组中“me”第一次出现的位置,若没有就返回-1
var strPos=arr.indexOf("me"); 

Javascript 相关文章推荐
实现web打印的各种方法介绍及实现代码
Jan 09 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
Oct 28 Javascript
js统计页面的来访次数实现代码
May 09 Javascript
JS实现判断碰撞的方法
Feb 11 Javascript
jquery实现最简单的滑动菜单效果代码
Sep 12 Javascript
详解javascript中原始数据类型Null和Undefined
Dec 17 Javascript
JS图片定时翻滚效果实现方法
Jun 21 Javascript
Angularjs的Controller间通信机制实例分析
Nov 07 Javascript
JavaScript编写棋盘覆盖代码详解
Aug 28 Javascript
详解js几个绕不开的事件兼容写法
Aug 30 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
Jan 29 Vue.js
javascript String 的扩展方法集合
Jun 01 #Javascript
用javascript做拖动布局的思路
May 31 #Javascript
用JS实现一个页面多个css样式实现
May 29 #Javascript
使用jquery给input和textarea设定ie中的focus
May 29 #Javascript
js中cookie的使用详细分析
May 28 #Javascript
javascript一点特殊用法
May 28 #Javascript
js 加载时自动调整图片大小
May 28 #Javascript
You might like
解析php如何将日志写进syslog
2013/06/28 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP二维数组去重算法
2016/12/17 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
详解Javascript中的Object对象
2016/02/28 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
详解django自定义中间件处理
2018/11/21 Python
python用post访问restful服务接口的方法
2018/12/07 Python
python批量创建指定名称的文件夹
2019/03/21 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
大学毕业生简单自荐信
2013/11/05 职场文书
精细化工应届生求职信
2013/11/17 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
Python实现双向链表
2022/05/25 Python