Javascript Lightning web组件中的可跟踪数组排序

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++) {

正在开发新的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]
    });
  } 
这是我运行上述查询时显示数据的方式,这是存储在上述可跟踪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);