export class ArrayUtil { public static countItem(item: any, array: any[]): number { let count: number = 0 for (let itemInArray of array) { if (itemInArray === item) { count++ } } return count } public static addUniqueItem(value: any, array: any[]): boolean { if (array.length === 0) { array.push(value) return true } else { let count: number = ArrayUtil.countItem(value, array) if (count === 0) { array.push(value) return true } } return false } public static removeItem(item: any, array: any[]): boolean { let itemDeleted: boolean = false for (let i: number = 0; i < array.length; i++) { if (array[i] === item) { array.splice(i, 1) itemDeleted = true } } return itemDeleted } public static copy(array: any[]) { let result: any[] = new Array for (let i: number = 0; i < array.length; i++) { result[i] = array[i] } return result } }