javascript - Lightning Web 组件中的可跟踪数组排序
问题描述
使用新的 Salesforce Lightning Web 组件。我试图让多维数组在 javascript 中排序。我有一个可跟踪的数组,它有几列,我希望数据按建筑物总价值排序。这是我到目前为止所做的,没有错误,但没有得到预期的结果。
@track bc = [];
@wire(getCityStats) cityStats({ data }) {
if (data) {
for (let i = 0; i < data.length; i++) {
if (data[i].sumchans__Province_Code__c == 'BC') {
this.bc.push(data[i]);
}
}
sortCityByNumberOfBldgs(this.bc);
}
}
sortCityByNumberOfBldgs(province) {
province.sort(function(a,b) {
return a[4]-b[4]
});
}
这是 Apex 控制器中的 SOQL:
SELECT Name,sumchans__Province_Code__c,
(select sumchans__Penetration__c,sumchans__Total_Buildings__c from sumchans__City_Stats__r) FROM sumchans__CITY_MASTER__c
解决方案
只需实现一个比较器:
compareASC(firstVal, secondVal) {
if (firstVal.sumchans__City_Stats__r.sumchans__Total_Buildings__c > secondVal.sumchans__City_Stats__r.sumchans__Total_Buildings__c) return 1;
if (secondVal.sumchans__City_Stats__r.sumchans__Total_Buildings__c > firstVal.sumchans__City_Stats__r.sumchans__Total_Buildings__c) return -1;
return 0;
}
接着:
let toBeSorted = JSON.parse(JSON.stringify(data));
toBeSorted.sort(compareASC);
推荐阅读
- android - 在任何活动中按下退出应用程序
- spring-batch - Spring Batch:如何在 FlatFileItemWriter 中设置记录分隔符策略?
- python - 如何从难以找到模式的字符串列表中提取标记
- php - 在 PHP 中显示变量的值,一旦它们被指定
- tensorflow - pytorch 模型 -> onnx -> tensorflow
- python - Pandas 将文件名存储在列表中,并将所有文件读入数据框
- python - 用 Python 写 binp 文件,用 Matlab 读取
- r - 有什么方法可以像 Python 一样为 R 代码构建 Heroku
- java - Vaadin DropDown/Select/Spinner 最佳实践?
- tensorflow - Colab 没有名为“tensorflow.examples.tutorials”的模块