Javascript Lightning web组件中的可跟踪数组排序
正在开发新的Salesforce Lightning web组件。我试图用javascript对多维数组进行排序。我有一个可跟踪的数组,它有几个列,我想要按建筑物总价值排序的数据。 以下是我到目前为止所做的,没有错误,但没有得到预期的结果Javascript Lightning web组件中的可跟踪数组排序,javascript,salesforce,salesforce-lightning,lwc,Javascript,Salesforce,Salesforce Lightning,Lwc,正在开发新的Salesforce Lightning web组件。我试图用javascript对多维数组进行排序。我有一个可跟踪的数组,它有几个列,我想要按建筑物总价值排序的数据。 以下是我到目前为止所做的,没有错误,但没有得到预期的结果 @track bc = []; @wire(getCityStats) cityStats({ data }) { if (data) { for (let i = 0; i < data.length; i++) {
@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]
});
}
这是我运行上述查询时显示数据的方式,这是存储在上述可跟踪bc数组中的数据。
只需实现一个比较器:
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);
let toBeSorted = JSON.parse(JSON.stringify(data));
toBeSorted.sort(compareASC);