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 相关文章推荐
SyntaxHighlighter代码加色使用方法
Sep 07 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
onmouseover事件和onmouseout事件全面理解
Aug 15 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
Nov 10 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
Jan 04 Javascript
vue.js学习笔记:如何加载本地json文件
Jan 17 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
Aug 17 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 Javascript
在小程序开发中使用npm的方法
Oct 17 Javascript
小程序中canvas的drawImage方法参数使用详解
Jul 04 Javascript
Node使用Selenium进行前端自动化操作的代码实现
Oct 10 Javascript
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
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
JavaScript面向对象分层思维全面解析
2016/11/22 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python函数参数操作详解
2018/08/03 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python如何在DataFrame增加数值
2020/02/14 Python
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
机械制造专业个人的自我评价
2013/12/28 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
青春奉献演讲稿
2014/05/08 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
英雄儿女观后感
2015/06/09 职场文书
永远是春天观后感
2015/06/12 职场文书
2015年国庆节寄语
2015/08/17 职场文书
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers