转自:http://www.cnblogs.com/chiname/articles/216517.html(侵删)

 /* 
  *  方法:Array.removeAt(Index) 
  *  功能:删除数组元素. 
  *  参数:Index删除元素的下标. 
  *  返回:在原数组上修改数组 
  */ 

Array.prototype.removeAt = function(Index) {
if (isNaN(Index) || Index > this.length) {
return false; }
for (var i = 0, n = 0; i < this.length; i++) {
if (this[i] != this[Index]) {
this[n++] = this[i]
}
}
this.length -= 1
}

  /*                             
  *  方法:Array.remove(obj)      
  *  功能:删除数组元素.         
  *  参数:要删除的对象.     
  *  返回:在原数组上修改数组    
  */

 Array.prototype.remove = function(obj) {
if (null == obj) {
return; }
for (var i = 0, n = 0; i < this.length; i++) {
if (this[i] != obj) {
this[n++] = this[i];
}
}
this.length -= 1
}

 /*                             
  *  方法:Array.Contains(obj)      
  *  功能:确定某个元素是否在数组中.         
  *  参数:要查找的Object对象 
  *  返回:找到返回true,否则返回false; 
  */

 Array.prototype.Contains = function(obj) {
if (null == obj) {
return; }
for (var i = 0, n = 0; i < this.length; i++) {
if (this[i] != obj) {
return true;
}
} return false;
}

var arrContains = ['1', '22', '3333', '22'];
console.log(arrContains.Contains('22')); //true

 /*                             
  *  方法:Array.IndexOf(obj)      
  *  功能:搜索指定的Object,并返回第一个匹配项从零开始的索引         
  *  参数:要查找的Object对象    
  *  返回:找到返回该元素在数组中的索引,否则返回-1 
  */

 Array.prototype.IndexOf = function(obj) {
if (null == obj) {
return; } {
for (var i = 0, n = 0; i < this.length; i++) {
if (this[i] == obj) {
return i;
}
}
} return -1;
}

 /*                             
  *  方法:Array.Clear()      
  *  功能:消空数组元素.         
  *  参数:无.     
  *  返回:空数组 
  */

 Array.prototype.Clear = function() {
this.length = 0;
}

 /*                             
  *  方法:Array.formatString()      
  *  功能:处理数组为字符串.         
  *  参数:无.     
  *  返回:字符串
  */

Array.prototype.formatString = function() {
var str = '';
for (var i = 0; i < this.length; i++) {
if(i == this.length -1){
str += this[i];
}else {
str += this[i] + ';';
}
}
return str;
};

  

$.prototype.serializeObject = function() {
var a, o, h, i, e;
a = this.serializeArray();
o = {};
h = o.hasOwnProperty;
for (i = 0; i < a.length; i++) {
e = a[i];
if (!h.call(o, e.name)) {
o[e.name] = e.value;
}
}
return o;
};
$.fn.serializeJson = function() {
var arr = this.serializeArray();
var json = {};
arr.forEach(function(item) {
var name = item.name;
var value = item.value; if (!json[name]) {
json[name] = value;
} else if ($.isArray(json[name])) {
json[name].push(value);
} else {
json[name] = [json[name], value];
}
});
return json;
}

//日期处理

Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};

js 中prototype运用(数组)的更多相关文章

  1. js中的伪数组

    一, 伪数组 1. 具有length属性 2. 按索引方式存储数据 3. 不具有数组的方法, 比如push(),pop()等 二, 生成伪数组的方法 在js中生成伪数组的方法比较多 1. functi ...

  2. js中对arry数组的各种操作小结

    最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊,为了在以后的工作中写出最优化的代码,我 ...

  3. js中字符串与数组的相互转换

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  5. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么

    js课程 3-10  js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...

  6. Bom和Dom编程以及js中prototype的详解

    一.Bom编程: 1.事件练习: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  7. [undefined,1] 和 [,1]的区别在哪里--认识js中的稀疏数组

    事情是这样的 今天我想写一个能快速生成一个自然数数组的函数,就是[0,1,2,3]这样的,然后我写了下面的代码: new Array(10).map((item, index) => { ret ...

  8. Js中Prototype、__proto__、Constructor、Object、Function关系介绍

    一. Prototype.__proto__与Object.Function关系介绍 Function.Object:都是Js自带的函数对象.prototype,每一个函数对象都有一个显式的proto ...

  9. js中关于一个数组中最大、最小值以及它们的下标的输出的一种解决办法

    今天在学习js中的数组时,遇到的输出一个数组中最大.最小值以及它们的下表,以下是自己的解决方法! <script type="text/javascript"> var ...

  10. js中prototype用法(转)

    JavaScript能够实现的面向对象的特征有:·公有属性(public field)·公有方法(public Method)·私有属性(private field)·私有方法(private fie ...

随机推荐

  1. 图片处理服务 ImageMagick 的安装和使用

    简介 该文章使用目前官方最新版本7.0.8,这里只记录下Windows系统下的安装. 官方网站:http://www.imagemagick.org/script/index.php. ImageMa ...

  2. Kali学习笔记30:身份认证与命令执行漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...

  3. Oracle报错#“ORA-01791: 不是 SELECTed 表达式”解决方法

    今天遇到一个Oracle报错,写篇博客记录一下 简单看一下下面这个sql,这也查询是没报错的 select a.area_seq, a.area_name from t_unit_area a WHE ...

  4. idea 过段时间java程序包不存在问题 ?

    有时候我们在导入程序之后,系统会给出错误提示:Java:程序包xxxx不存在,现在我这里有一招,就是使用IDEA自动导入Java程序包,这也是IDEA的一大优点. 但是在看到这个问题的文章的时候,并不 ...

  5. SQL中的Join和Where的区别

    一.sql语句中left join.inner join中的on与where的区别 0.各种join操作的概念和作用 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. ...

  6. 【EF6学习笔记】(二)操练 CRUD 增删改查

    本篇原文链接: Implementing Basic CRUD Functionality 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根 ...

  7. jQueryh插件imgareaselect

    1.插件介绍 imgareaselect 是一个 允许用户使用简单.直观的点击.拖动界面图像选择矩形区域的jQuery插件.该插件可用于 web 应用程序中轻松实现图像裁剪功能,以及其他功能,如照片标 ...

  8. 高性能Mysql笔记 — explain

    explain 查看sql的执行计划,只是一个近似结果,一般不会实际执行该sql,如果有子查询就会执行子查询 explain table_name,这儿的table_name含义较广:子查询.unio ...

  9. backbond整体架构

    (function(factory) { // 在这里是backbone模块化的一个接口.支持AMD,CMD和全局变量模式.代码很好理解. })(function(root, factory, _, ...

  10. Python进阶笔记

    列表生成式 函数的参数类型 lambda函数 map, reduce, filter, sorted函数 eval, exec, join, zip函数 itertools中的函数 copy与deep ...