zoukankan      html  css  js  c++  java
  • js 中prototype运用(数组)

    转自: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;
    };
  • 相关阅读:
    APMServ5.2.6 无法启动Apache的一个问题
    【转】流媒体技术笔记(视频编码相关)
    用APMServ一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP运行平台
    java swing 基础
    python class 类
    python 经验
    python 导入(转)
    kernel ipv4/ip_output.c
    python+正则表达式(转)
    Eclipse中如何快速添加、删除jar包
  • 原文地址:https://www.cnblogs.com/Byme/p/8184990.html
Copyright © 2011-2022 走看看