在 AS3 中以 DESCENDING 顺序订购我的“产品”
Posted
技术标签:
【中文标题】在 AS3 中以 DESCENDING 顺序订购我的“产品”【英文标题】:order my "products" in DESCENDING order in AS3 【发布时间】:2016-10-05 13:02:33 【问题描述】:我的 AS3 代码正在搜索我的数据库并在列表(文本字段)中显示所有“产品”。
function displayPage(pageIndex:int):void
list.removeChildren();
currentPageIndex = pageIndex;
var firstItemIndex:int = pageIndex * itemsPerPage;
var j:int = 0;
var lastItemIndex: int = firstItemIndex + 10; // as lastItemIndex should be 10 more
if (lastItemIndex > products.length) // if lastindex is greater than products length
lastItemIndex = products.length;
for(var i:int = firstItemIndex; i< lastItemIndex; i++)
createListItem( j, products[i]); // j control the position and i points to particular element of array..
j++;
function complete(e:Event):void
loading.visible=false;
addChild(list);
products = JSON.parse(loader5.data) as Array;
products.reverse();
for(var i:int = 0; i < products.length; i++)
createListItem(i, products[i]);
displayPage(0);
showList();
function createListItem(index:int, item:Object):void
var listItem:TextField = new TextField();
listItem.text = item.title;
list.addChild(listItem);
str = item.title;
在我的数据库中,我有一行“stampTime”。
我怎样才能以 DESCENDING 顺序显示我的列表中的产品(根据 stampTime,而不是每个产品的第一个字母)?
我想应该是这样的
products.sort(Array.DESCENDING);
但是如何告诉 AS3 按每个产品的 stampTime (item.stampTime
) 降序排列?
【问题讨论】:
【参考方案1】:products.sortOn("stampTime", Array.DESCENDING)
你可以在this上学习。
【讨论】:
【参考方案2】:遍历数组并计算每个数组元素中的每个时间戳,如果它是最小的(或最大的),则将其推送到新数组。循环结束后,您的初始数组将为空,而您的新 临时 数组将以升序(或降序)顺序填充。然后,循环遍历 temporary 数组并将它们全部推回第一个数组。现在您的数组已根据时间戳排序。
【讨论】:
【参考方案3】:Array.sort
方法适用于基本数组。
在您的情况下,products
看起来像一个对象数组。
您可以使用Array.sortOn
方法。
// sort the stampTime field numerically in descending order
products.sortOn( ["stampTime"], [Array.DESCENDING|Array.NUMERIC]);
也许您的complete
方法如下所示。
function complete(e:Event):void
loading.visible=false;
addChild(list);
products = JSON.parse(loader5.data) as Array;
//products.reverse();
products.sortOn(["stampTime"], [Array.DESCENDING|Array.NUMERIC]);
for(var i:int = 0; i < products.length; i++)
createListItem(i, products[i]);
displayPage(0);
showList();
阅读官方文档。 http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fa4.html
【讨论】:
以上是关于在 AS3 中以 DESCENDING 顺序订购我的“产品”的主要内容,如果未能解决你的问题,请参考以下文章