sortarrayoperation.as

来自「《Flash AS3殿堂之路》光盘源码 学习ActionScript 3.0」· AS 代码 · 共 76 行

AS
76
字号
package org.kingda.book.array
{
	import flash.display.Sprite;

	public class SortArrayOperation extends Sprite
	{
		public function SortArrayOperation() {
			sampleSort();
			sampleSortOn();
		}
		
		/*
		其实默认的sort()是按照每个元素的toString输出的字符串来进行排序的。
		*/
		private function sampleSort():void {
			
			trace ("haha");
			var books:Array = new Array();
			books.push(new Book("A for beginner", 		500));
			books.push(new Book("B for basic", 			400));
			books.push(new Book("C for intermediate", 	300));
			
			trace(books);
			// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
			
			books.sort();
			
			for(var i:int=0; i<books.length; i++) {
				trace (i + ":"+books[i].getName()+":" + books[i].getPages());
			}
			// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
			
			//The following code defines the Vegetable class
			
		}
		
		private function sampleSortOn():void {
						
		}
		
		private function sortOnPrice(a:Book, b:Book):Number {
		    var aPages:Number = a.getPages();
		    var bPages:Number = b.getPages();
		
		    if(aPages > bPages) {
		        return 1;
		    } else if(aPages < bPages) {
		        return -1;
		    } else  {
		        //aPages == bPages
		        return 0;
		    }
		}
	}	
}
internal class Book {
    private var name:String;
    private var pages:uint;

    public function Book(name:String, pages:uint) {
        this.name = name;
        this.pages = pages;
    }

    public function toString():String {
        return " " + pages + ":" + name;
    }
    
    public function getPages():uint {
        return pages;
    }
    
    public function getName():String {
    	return name;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?