[AS3]as3数组Array sort属性的问题详细介绍(2)
下例是手册中的将sort()方法与自定义排序函数 (sortOnPrice) 一起使用,该函数按 price 排序,而不是按字母顺序排序。 请注意,新函数getPrice()将提取 price。 以下Main.as可作为文档类测试: package { importfla
下例是手册中的将sort()方法与自定义排序函数 (sortOnPrice) 一起使用,该函数按 price 排序,而不是按字母顺序排序。 请注意,新函数getPrice()将提取 price。
以下Main.as可作为文档类测试:
- package
- {
- import flash.display.Sprite;
- /**
- * ...
- * @author zt
- */
- public class Main extends Sprite
- {
- var vegetables:Array = new Array();
- public function Main() {
- vegetables.push(new Vegetable("lettuce", 1.49));
- vegetables.push(new Vegetable("spinach", 1.89));
- vegetables.push(new Vegetable("asparagus", 3.99));
- vegetables.push(new Vegetable("celery", 1.29));
- vegetables.push(new Vegetable("squash", 1.44));
- trace(vegetables);
- // lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
- vegetables.sort(sortOnPrice);
- trace(vegetables);
- // celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99
- }
- private function sortOnPrice(a:Vegetable, b:Vegetable):Number {
- var aaPrice:Number = a.getPrice();
- var bbPrice:Number = b.getPrice();
- if(aPrice > bPrice) {
- return 1;
- } else if(aPrice < bPrice) {
- return -1;
- } else {
- //aPrice == bPrice
- return 0;
- }
- }
- }
- }
- class Vegetable {
- private var name:String;
- private var price:Number;
- public function Vegetable(name:String, price:Number) {
- this.name = name;
- this.price = price;
- }
- public function getPrice():Number {
- return price;
- }
- public function toString():String {
- return " " + name + ":" + price;
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...