转自: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. 吴恩达机器学习笔记13-正规方程(Normal Equation)

    到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案.如: 即: 运用正规方程方法求解参数: 注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺 ...

  2. Apache Commons FileUpload 实现文件上传

    Commons FileUpload简介 Apache Commons是一个专注于可重用Java组件开发的 Apache 项目.Apache Commons项目由三个部分组成: 1.Commons P ...

  3. linux下postgres的安装

    软件包的下载 在浏览器中访问https://www.enterprisedb.com/download-postgresql-binaries 然后选择适合自己的版本,我选择的是linux64位下的1 ...

  4. vs2017使用GitHub插件发布项目到github

    几乎每天都从博客园获取新知识,今天才发现我竟然没有博客园的账号,你说气人不.2008年10月就开始在CSDN上写记录,因为CSDN做记录还可以,但记录整个项目就有些捉襟见肘,后来就写Demo做备份到云 ...

  5. web容器 web服务器 servlet/jsp容器 之间的区别和关系

    今天学习tomcat时发现一篇写的比较好的文章,故分享给大家 Web服务器(软件): Apache http server, 这个它的网址,http://httpd.apache.org/downlo ...

  6. Struts2框架(4)---Action类访问servlet

    Action类访问servlet Action类有三种方式servlet: (1)间接的方式访问Servlet API  ---使用ActionContext对象 (2)  实现接口,访问Action ...

  7. redis 系列4 数据结构之链表

    一. 概述 链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可能通过增删节点来灵活地调整链表的长度.作为一种数据结构,在C语言中并没有内置的这种数据结构.所以Redis构建了自己的链表实现 ...

  8. 项目ITP(六) spring4.0 整合 Quartz 实现动态任务调度

    前言 系列文章:[传送门] 项目需求: http://www.cnblogs.com/Alandre/p/3733249.html 上一博客写的是基本调度,后来这只能用于,像每天定个时间 进行数据库备 ...

  9. 谈谈 JAVA 的对象序列化

    所谓的『JAVA 对象序列化』就是指,将一个 JAVA 对象所描述的所有内容以文件 IO 的方式写入二进制文件的一个过程.关于序列化,主要涉及两个流,ObjectInputStream 和 Objec ...

  10. 基于jQuery消息提示框插件Tipso

    今天要分享的这款jQuery消息提示框插件名叫Tipso,它的特点是可以定义提示框的显示位置,以及动态改变提示框的提示内容,应该说是一款相当灵活的jQuery消息提示框插件.效果图如下: 在线预览   ...