최초등록
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
// +----------------------------------------------------------------+
|
||||
// | Array functions that are missing in IE 5.0 |
|
||||
// | Author: Cezary Tomczak [www.gosu.pl] |
|
||||
// | Free for any use as long as all copyright messages are intact. |
|
||||
// +----------------------------------------------------------------+
|
||||
|
||||
// Removes the last element from an array and returns that element.
|
||||
if (!Array.prototype.pop) {
|
||||
Array.prototype.pop = function() {
|
||||
var last;
|
||||
if (this.length) {
|
||||
last = this[this.length - 1];
|
||||
this.length -= 1;
|
||||
}
|
||||
return last;
|
||||
};
|
||||
}
|
||||
|
||||
// Adds one or more elements to the end of an array and returns the new length of the array.
|
||||
if (!Array.prototype.push) {
|
||||
Array.prototype.push = function() {
|
||||
for (var i = 0; i < arguments.length; ++i) {
|
||||
this[this.length] = arguments[i];
|
||||
}
|
||||
return this.length;
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the first element from an array and returns that element.
|
||||
if (!Array.prototype.shift) {
|
||||
Array.prototype.shift = function() {
|
||||
var first;
|
||||
if (this.length) {
|
||||
first = this[0];
|
||||
for (var i = 0; i < this.length - 1; ++i) {
|
||||
this[i] = this[i + 1];
|
||||
}
|
||||
this.length -= 1;
|
||||
}
|
||||
return first;
|
||||
};
|
||||
}
|
||||
|
||||
// Adds one or more elements to the front of an array and returns the new length of the array.
|
||||
if (!Array.prototype.unshift) {
|
||||
Array.prototype.unshift = function() {
|
||||
if (arguments.length) {
|
||||
var i, len = arguments.length;
|
||||
for (i = this.length + len - 1; i >= len; --i) {
|
||||
this[i] = this[i - len];
|
||||
}
|
||||
for (i = 0; i < len; ++i) {
|
||||
this[i] = arguments[i];
|
||||
}
|
||||
}
|
||||
return this.length;
|
||||
};
|
||||
}
|
||||
|
||||
// Adds and/or removes elements from an array.
|
||||
if (!Array.prototype.splice) {
|
||||
Array.prototype.splice = function(index, howMany) {
|
||||
var elements = [], removed = [], i;
|
||||
for (i = 2; i < arguments.length; ++i) {
|
||||
elements.push(arguments[i]);
|
||||
}
|
||||
for (i = index; (i < index + howMany) && (i < this.length); ++i) {
|
||||
removed.push(this[i]);
|
||||
}
|
||||
for (i = index + howMany; i < this.length; ++i) {
|
||||
this[i - howMany] = this[i];
|
||||
}
|
||||
this.length -= removed.length;
|
||||
for (i = this.length + elements.length - 1; i >= index + elements.length; --i) {
|
||||
this[i] = this[i - elements.length];
|
||||
}
|
||||
for (i = 0; i < elements.length; ++i) {
|
||||
this[index + i] = elements[i];
|
||||
}
|
||||
return removed;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user