Js的Array对象的几个原型方法

代码 

Array.prototype.inArray = function(value) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] === value) {
            return true;

        }

    }
    return false;

};

Array.prototype.max = function() {
    for (var i = 1, max = this[0]; i < this.length; i++) {
        if (max < this[i]) {
            max = this[i];

        }
        return max;

    };

Array.prototype.min = function() {
for (var i = 1, min = this[0]; i < this.length; i++) {
    if (min > this[i]) {
      min = this[i];

    }
    return min;

};

Array.prototype.indexOf = function(p_var)
{
    for (var i = 0; i < this.length; i++)
    {
      if (this[i] == p_var)
      {
          return (i);

      }

    }
    return ( - 1);

}

Array.prototype.exists = function(p_var) {
    return (this.indexOf(p_var) != -1);
}

Array.prototype.queue = function(p_var) {
    this.push(p_var)
}

Array.prototype.dequeue = function() {
    return (this.shift());
}

Array.prototype.removeAt = function(p_iIndex) {
    return this.splice(p_iIndex, 1);
}

Array.prototype.remove = function(o)
{
    var i = this.indexOf(o);
    if (i > -1)
    {
      this.splice(i, 1);

    }
    return (i > -1);

}

Array.prototype.clear = function()
{
    var iLength = this.length;
    for (var i = 0; i < iLength; i++)
    {
      this.shift();

    }

}

Array.prototype.addArray = function(p_a)
{
    if (p_a)
    {
      for (var i = 0; i < p_a.length; i++)
      {
          this.push(p_a[i]);

      }

    }

}

Array.prototype.Unique = function()
{
    var a = {};
    for (var i = 0; i < this.length; i++)
    {
      if (typeof a[this[i]] == "undefined")
      a[this[i]] = 1;

    }
    this.length = 0;
    for (var i in a)
      this[this.length] = i;
    return this;

};

Array.prototype.indexOf = function(obj, fromIndex)
{
    if (fromIndex == null)
    {
      fromIndex = 0;

    }
    else if (fromIndex < 0)
    {
      fromIndex = Math.max(0, this.length + fromIndex);

    }

    for (var i = fromIndex; i < this.length; i++)
    {
      if (this[i] === obj)
      {
          return i;

      }

    }

    return - 1;

};

Array.prototype.lastIndexOf = function(obj, fromIndex)
{
    if (fromIndex == null)
    {
      fromIndex = this.length - 1;

    }
    else if (fromIndex < 0)
    {
      fromIndex = Math.max(0, this.length + fromIndex);

    }

    for (var i = fromIndex; i >= 0; i--)
    {
      if (this[i] === obj)
      {
          return i;

      }

    }

    return - 1;

};

Array.prototype.insertAt = function(o, i)
{
    this.splice(i, 0, o);

};

Array.prototype.insertBefore = function(o, o2)
{
    var i = this.indexOf(o2);

    if (i == -1)
    {
      this.push(o);

    }
    else
    {
      this.splice(i, 0, o);

    }

};

Array.prototype.remove = function(o)
{
    var i = this.indexOf(o);

    if (i != -1)
    {
      this.splice(i, 1);

    }

};

Array.prototype.mm = function()
{
    var a = {},
    m = 0,
    n = "";
    for (var i = 0; i < this.length; i++){
      a[this[i]] ? ++a[this[i]] : a[this[i]] = 1;
      for (i in a) {
      m = Math.max(m, a[i]);
      if (m == a[i]) n = i;
    }
    return {
      "variable": n,
      "times": m
    };

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值