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 相关文章推荐
不用MOUSEMOVE也能滑动啊
May 23 Javascript
Save a File Using a File Save Dialog Box
Jun 18 Javascript
一个不错的仿携程自定义数据下拉选择select
Sep 01 Javascript
js实现对table动态添加、删除和更新的方法
Feb 10 Javascript
深入理解Node.js中的进程管理
Mar 13 Javascript
微信小程序实现登录页云层漂浮的动画效果
May 05 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
js 将线性数据转为树形的示例代码
May 28 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
Nov 11 Javascript
JavaScript实现弹出窗口效果
Dec 09 Javascript
vue 组件基础知识总结
Jan 26 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 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
浅析php工厂模式
2014/11/25 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
TensorFlow神经网络优化策略学习
2018/03/09 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
python如何将两个txt文件内容合并
2019/10/18 Python
简单了解django文件下载方式
2020/02/10 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
行政工作个人的自我评价
2014/02/13 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
销售会议开幕词
2016/03/04 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
python中filter,map,reduce的作用
2022/06/10 Python