Array.prototype.forEach = function(iterator) 
{
    for (var i = 0, length = this.length; i < length; i++)
	{
    	iterator(this[i]);
  	}
}
if (window.opera)
{
	Array.prototype.concat = function() 
  	{
    	var array = [];
    	for (var i = 0, length = this.length; i < length; i++) 
		{
			array.push(this[i]);
		}
		for (var i = 0, length = arguments.length; i < length; i++) 
		{
      		if (arguments[i] instanceof Array) 
			{
        		for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
          		array.push(arguments[i][j]);
      		} 
			else 
			{
        		array.push(arguments[i]);
      		}
    	}
    	return array;
  	}
}
Array.prototype.indexOf = function(item) 
{
  	for (var i = 0, length = this.length; i < length; i++)
  	{
 		if (this[i] === item) 
		{
			return i;
		}
	}
  	return -1;
}
Array.prototype.lastIndexOf = function(item) 
{
  	var n = this.slice(0, this.length).reverse().indexOf(item);
  	return (n < 0) ? n : i - n - 1;
}
Array.prototype.remove = function(index)
{
	if(this.length >= index + 1)
	{
		for(var i = index; i < this.length  - 1; i++) 
		{
			this[i] = this[i+1];
		}
		this.length--; 
	}
	else
	{
		throw "超过数组范围！"; 
	}
}
///去除重复的元素
Array.prototype.removeRepeat=function()
{
	var $array = this;
	var tmp_array = [];
	for(var i = 0, length = $array.length; i < length; i++)
	{
		var value = $array[i];
		if(tmp_array.indexOf(value) == -1)
		{
			tmp_array.push(value)
		}
	}
	for(var j = 0, length = tmp_array.length; j < length; j++)
	{
		this[j] = tmp_array[j];
	}
	this.length=tmp_array.length;
};

var $A = function(iterable) {
	var nArray = [];
	for (var i = 0; i < iterable.length; i++) nArray.push(iterable[i]);
	return nArray;
};

if (!Array.prototype.forEach) {
    Array.prototype.forEach = function(fn, bind) {
        for (var i = 0; i < this.length; i++) fn.call(bind, this[i], i);
    };
}

Array.prototype.each = Array.prototype.forEach;

