gpt4 book ai didi

javascript - 按 xpages 中的总值对文档集合进行排序

转载 作者:行者123 更新时间:2023-11-29 18:16:53 25 4
gpt4 key购买 nike

我正在开发一个 xpages 应用程序,我想在其中显示每个客户端总流量的前 5 名。

我有一个购买任意数量产品的客户列表。我想根据购买的产品总量对客户进行分类。我使用按客户分类的“Top5” View 。

我使用文档集合来计算客户的总量。

我可以按降序对卷进行分类并选择前 5 个。但这不允许我从 View 中检索产品名称和客户。

var cls3 = @DbColumn("","Top5",1);
sessionScope.put("clientsList3",cls3);
var db=session.getCurrentDatabase();
var view7=db.getView("Top5")
var dataa =[] ;
var top =[];

for(var r = 0; r < clientsList3.length; r++){

var Cli = @Trim(@Text(clientsList3[r]));
var VolumeTotal :NotesDocumentCollection = view7.getAllDocumentsByKey(Cli);

var vola = 0;
var array = new Array();
var prod = "";

if (VolumeTotal == 0) {array = 0;}
else{
var doca = VolumeTotal.getFirstDocument();
while (doca != null)
{vola = vola + doca.getItemValueInteger("TotalVolume_Intermediate");
doca = VolumeTotal.getNextDocument(doca);
}
array.push(vola);

}
dataa[r] = array;
dataa.sort(function(a, b) {return b - a;});



top = dataa.slice(0,5);


}

return dataa;

}

最佳答案

您确实想为此使用托管 bean,它使很多事情变得容易得多。您创建一个自定义类来为您执行比较操作:

   public Class TopSeller implements Comparable {
String product;

public String getProduct() {
return this.product;
}

public void setProduct(String product) {
this.product = product;
}
// Add properties as needed

public int compareTo(Topseller theOther) {
// Your ranking code goes here
}
}

在该类中,您的 compareTo 函数确实提供了排名和排序。那么你只需要:

  Set<TopSeller> allSeller = new TreeSet<TopSeller>();

...你就完成了。 Treeset 将提供现成的排序结果,您只需将其绑定(bind)到具有 5 行的重复项即可显示

关于javascript - 按 xpages 中的总值对文档集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22456735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com