?? arraylist.js
字號:
/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.collections.ArrayList");dojo.require("dojo.collections.Collections");dojo.collections.ArrayList=function(/* array? */arr){ // summary // Returns a new object of type dojo.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 dojo.collections.ArrayList(items); // dojo.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. var s=scope||dj_global; if(Array.forEach){ Array.forEach(items, fn, s); }else{ for(var i=0; i<items.length; i++){ fn.call(s, items[i], i, items); } } }; this.getIterator=function(){ // summary // Get an Iterator for this object return new dojo.collections.Iterator(items); // dojo.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||",")); };};
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -