我有这段代码:
export interface Model{
fields: FieldMap;
}
export interface FieldMap { [key: string]: Field;}
export interface Field { name: string; value?: string; }
如何在字段模型中按键排序?
我告诉了这件事,但有错误TS2349:
无法调用类型缺少调用签名的表达式。
.fields.sort((a: any, b: any) => { if (a.key < b.key ){ return -1; }else if(a.key > b.key){ return 1; }else{ return 0; } });
答案 0 :(得分:0)
我认为您正在尝试根据键值对FieldMap对象进行排序 这是link
你可以这样试试:
var data = {
fields: {
"4": { name: 'name4', value: '4' },
"1": { name: 'name1', value: '1' },
"3": { name: 'name3', value: '3' },
"2" : { name: 'name2', value: '2' }
},
};
Object.keys(data.fields).sort((a: any, b: any) =>
{ if (a.key < b.key) { return -1; } else if (a.key > b.key) { return 1; } else { return 0; } });
alert(JSON.stringify(data.fields));