네이티브 js의 Array 클래스 확장
6595 단어 array
/**************** ********************/
Array.prototype.add = function(item) {
this.push(item);
}
Array.prototype.addRange = function(items) {
var length = items.length;
if (length != 0) {
for (var index = 0; index < length; index++) {
this.push(items[index]);
}
}
}
Array.prototype.clear = function() {
if (this.length > 0) {
this.splice(0, this.length);
}
}
Array.prototype.isEmpty = function() {
if (this.length == 0)
return true;
else
return false;
}
Array.prototype.clone = function() {
var clonedArray = [];
var length = this.length;
for (var index = 0; index < length; index++) {
clonedArray[index] = this[index];
}
return clonedArray;
}
Array.prototype.contains = function(item) {
var index = this.indexOf(item);
return (index >= 0);
}
Array.prototype.dequeue = function() {
return this.shift();
}
Array.prototype.indexOf = function(item) {
var length = this.length;
if (length != 0) {
for (var index = 0; index < length; index++) {
if (this[index] == item) {
return index;
}
}
}
return -1;
}
Array.prototype.insert = function(index, item) {
this.splice(index, 0, item);
}
Array.prototype.joinstr = function(str) {
var new_arr = new Array(this.length);
for (var i = 0; i < this.length; i++) {
new_arr[i] = this[i] + str
}
return new_arr;
}
Array.prototype.queue = function(item) {
this.push(item);
}
Array.prototype.remove = function(item) {
var index = this.indexOf(item);
if (index >= 0) {
this.splice(index, 1);
}
}
Array.prototype.removeAt = function(index) {
this.splice(index, 1);
}