#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',
},