0byt3m1n1
Path:
/
data
/
applications
/
aps
/
phprojekt
/
6.0.6-0
/
standard
/
htdocs
/
htdocs
/
dojo
/
dojox
/
collections
/
[
Home
]
File: ArrayList.js
/* Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ if(!dojo._hasResource["dojox.collections.ArrayList"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. dojo._hasResource["dojox.collections.ArrayList"] = true; dojo.provide("dojox.collections.ArrayList"); dojo.require("dojox.collections._base"); dojox.collections.ArrayList=function(/* array? */arr){ // summary // Returns a new object of type dojox.collections.ArrayList var items=[]; if(arr) items=items.concat(arr); this.count=items.length; this.add=function(/* object */obj){ // summary // Add an element to the collection. items.push(obj); this.count=items.length; }; this.addRange=function(/* array */a){ // summary // Add a range of objects to the ArrayList if(a.getIterator){ var e=a.getIterator(); while(!e.atEnd()){ this.add(e.get()); } this.count=items.length; }else{ for(var i=0; i<a.length; i++){ items.push(a[i]); } this.count=items.length; } }; this.clear=function(){ // summary // Clear all elements out of the collection, and reset the count. items.splice(0, items.length); this.count=0; }; this.clone=function(){ // summary // Clone the array list return new dojox.collections.ArrayList(items); // dojox.collections.ArrayList }; this.contains=function(/* object */obj){ // summary // Check to see if the passed object is a member in the ArrayList for(var i=0; i < items.length; i++){ if(items[i] == obj) { return true; // bool } } return false; // bool }; this.forEach=function(/* function */ fn, /* object? */ scope){ // summary // functional iterator, following the mozilla spec. dojo.forEach(items, fn, scope); }; this.getIterator=function(){ // summary // Get an Iterator for this object return new dojox.collections.Iterator(items); // dojox.collections.Iterator }; this.indexOf=function(/* object */obj){ // summary // Return the numeric index of the passed object; will return -1 if not found. for(var i=0; i < items.length; i++){ if(items[i] == obj) { return i; // int } } return -1; // int }; this.insert=function(/* int */ i, /* object */ obj){ // summary // Insert the passed object at index i items.splice(i,0,obj); this.count=items.length; }; this.item=function(/* int */ i){ // summary // return the element at index i return items[i]; // object }; this.remove=function(/* object */obj){ // summary // Look for the passed object, and if found, remove it from the internal array. var i=this.indexOf(obj); if(i >=0) { items.splice(i,1); } this.count=items.length; }; this.removeAt=function(/* int */ i){ // summary // return an array with function applied to all elements items.splice(i,1); this.count=items.length; }; this.reverse=function(){ // summary // Reverse the internal array items.reverse(); }; this.sort=function(/* function? */ fn){ // summary // sort the internal array if(fn){ items.sort(fn); }else{ items.sort(); } }; this.setByIndex=function(/* int */ i, /* object */ obj){ // summary // Set an element in the array by the passed index. items[i]=obj; this.count=items.length; }; this.toArray=function(){ // summary // Return a new array with all of the items of the internal array concatenated. return [].concat(items); } this.toString=function(/* string */ delim){ // summary // implementation of toString, follows [].toString(); return items.join((delim||",")); }; }; }