как отсортировать вложенный массив объектов в angular

#javascript #arrays #angular #typescript

Вопрос:

я использую nzzorro и angular для пользовательского интерфейса .мне нужно отсортировать столбец в таблице, я могу сделать это для массива объектов ,но попал во вложенный массив объектов. Я попробовал способ, но он все еще показывался неопределенным.

 export interface ItemListData{
  itemCode:string;
  itemName:string;
  itemCategoryName:any;
  sizeRate:string;
  color:string;
  specification:string;
  itemVendor:any;

}
 

это интерфейс, который я использую для списка товаров,где поставщик товаров содержит код стиля поставщика,поставщика, производителя. я попытался применить сортировку для этих вложенных объектов массива, это дает неопределенный

 {
        name: 'Vendor Style Code',
        value: 'vendorStyleCode',
        sortFn: (a: ItemListData, b: ItemListData) =>(a?.itemVendor.forEach((element:any) => {
            element.vendorStyleCode ??"" })).localeCompare(b?.itemVendor.forEach((element:any) => {
                element.vendorStyleCode ??""})),
        filter: true,
        filterName: 'vendorStyleCode',
    }, {
        name: 'Vendor',
        value: 'vendor',
        // sortFn: (a: ItemListData, b: ItemListData) => a.itemVendor[0].supplierName.localeCompare(b.itemVendor[0].supplierName),
        filter: true,
        filterName: 'vendor',
    }, {
        name: 'Manufacture',
        value: 'manufacture',
        // sortFn: (a: ItemListData, b: ItemListData) => a.itemVendor[0].manufacturerName.localeCompare(b.itemVendor[0].manufacturerName),
        filter: true,
        filterName: 'manufacture',
    },