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 相关文章推荐
自己的js工具 Cookie 封装
Aug 21 Javascript
JS 自定义函数缺省值的设置方法
May 05 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
Oct 28 Javascript
jquery马赛克拼接翻转效果代码分享
Aug 24 Javascript
原生js实现百叶窗效果及原理介绍
Apr 12 Javascript
JS实现的找零张数最小问题示例
Nov 28 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 Javascript
vue路由跳转传递参数的方式总结
May 10 Javascript
js实现简单音乐播放器
Jun 30 Javascript
Vue使用axios引起的后台session不同操作
Aug 14 Javascript
js 执行上下文和作用域的相关总结
Feb 08 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
谈谈PHP的输入输出流
2007/02/14 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
js 目录列举函数
2008/11/06 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
[14:19]2018年度COSER大赛-完美盛典
2018/12/16 DOTA
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
python实现指定ip端口扫描方式
2019/12/17 Python
python实现简单飞行棋
2020/02/06 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
护理自我鉴定范文
2013/10/06 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
幼儿园开学通知
2015/04/24 职场文书
医学会议开幕词
2016/03/03 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android