收集的一些Array及String原型对象的扩展实现代码


Posted in Javascript onDecember 05, 2010

从无忧脚本收集过来的,有些的确还不错,比较实用,值得收藏一下。
扩展Array的原型对象的方法

// 删除数组中数据 
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");

扩展String的原型对象的方法

//获取字符数组 
String.prototype.ToCharArray=function() 
{ 
return this.split(""); 
} 
//获取N个相同的字符串 
String.prototype.Repeat=function(num) 
{ 
var tmpArr=[]; 
for(var i=0;i<num;i++) tmpArr.push(this); 
return tmpArr.join(""); 
} 
//逆序 
String.prototype.Reverse=function() 
{ 
return this.split("").reverse().join(""); 
} 
//测试是否是数字 
String.prototype.IsNumeric=function() 
{ 
var tmpFloat=parseFloat(this); 
if(isNaN(tmpFloat)) return false; 
var tmpLen=this.length-tmpFloat.toString().length; 
return tmpFloat+"0".Repeat(tmpLen)==this; 
} 
//测试是否是整数 
String.prototype.IsInt=function() 
{ 
if(this=="NaN") return false; 
return this==parseInt(this).toString(); 
} 
// 合并多个空白为一个空白 
String.prototype.resetBlank = function() 
{ 
return this.replace(/s+/g," "); 
} 
// 除去左边空白 
String.prototype.LTrim = function() 
{ 
return this.replace(/^s+/g,""); 
} 
// 除去右边空白 
String.prototype.RTrim = function() 
{ 
return this.replace(/s+$/g,""); 
} 
// 除去两边空白 
String.prototype.trim = function() 
{ 
return this.replace(/(^s+)|(s+$)/g,""); 
} 
// 保留数字 
String.prototype.getNum = function() 
{ 
return this.replace(/[^d]/g,""); 
} 
// 保留字母 
String.prototype.getEn = function() 
{ 
return this.replace(/[^A-Za-z]/g,""); 
} 
// 保留中文 
String.prototype.getCn = function() 
{ 
return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g,""); 
} 
// 得到字节长度 
String.prototype.getRealLength = function() 
{ 
return this.replace(/[^x00-xff]/g,"--").length; 
} 
// 从左截取指定长度的字串 
String.prototype.left = function(n) 
{ 
return this.slice(0,n); 
} 
// 从右截取指定长度的字串 
String.prototype.right = function(n) 
{ 
return this.slice(this.length-n); 
} 
// HTML编码 
String.prototype.HTMLEncode = function() 
{ 
var re = this; 
var q1 = [/x26/g,/x3C/g,/x3E/g,/x20/g]; 
var q2 = ["&","<",">"," "]; 
for(var i=0;i<q1.length;i++) 
re = re.replace(q1[i],q2[i]); 
return re; 
} 
// Unicode转化 
String.prototype.ascW = function() 
{ 
var strText = ""; 
for (var i=0; i<this.length; i++) strText += "&#" + this.charCodeAt(i) + ";"; 
return strText; 
}
Javascript 相关文章推荐
让回调函数 showResponse 也带上参数的代码
Aug 13 Javascript
Span元素的width属性无效果原因及解决方案
Jan 15 Javascript
javascript 正则替换 replace(regExp, function)用法
May 22 Javascript
判断客户浏览器是否支持cookie的示例代码
Dec 23 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
Sep 01 Javascript
js实现精美的图片跟随鼠标效果实例
May 16 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
Vue.js学习之过滤器详解
Jan 22 Javascript
如何解决.vue文件url引用文件的问题
Jan 18 Javascript
使用webpack4编译并压缩ES6代码的方法示例
Apr 24 Javascript
Javascript模块化机制实现原理详解
Apr 02 Javascript
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
script标签的 charset 属性使用说明
Dec 04 #Javascript
本地对象Array的原型扩展实现代码
Dec 04 #Javascript
悄悄用脚本检查你访问过哪些网站的代码
Dec 04 #Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
Dec 04 #Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
Dec 04 #Javascript
javascript innerHTML使用分析
Dec 03 #Javascript
统计出现最多的字符次数的js代码
Dec 03 #Javascript
You might like
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
js有关元素内容操作小结
2011/12/20 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
jquery中ajax函数执行顺序问题之如何设置同步
2014/02/28 Javascript
JavaScript中的闭包
2016/02/24 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
使用Ajax生成的Excel文件并下载的实例
2016/11/21 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
Python在图片中添加文字的两种方法
2017/04/29 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
css3之UI元素状态伪类选择器实例演示
2017/08/11 HTML / CSS
美国男士西装打折店:Jos. A. Bank
2017/11/13 全球购物
中软Java笔试题
2012/11/11 面试题
关于递归的一道.NET面试题
2013/05/12 面试题
培训班主持词
2014/03/28 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
MySQL 字符集 character
2022/05/04 MySQL