[英]How to sort typescript model by .sort()
I have this code: 我有以下代码:
export interface Model{
fields: FieldMap;
}
export interface FieldMap { [key: string]: Field;}
export interface Field { name: string; value?: string; }
How can I sort by key in field model? 如何按字段模型中的键排序?
I tring something this, but have error TS2349: 我正在尝试此操作,但出现错误TS2349:
Cannot invoke an expression whose type lacks a call signature.
无法调用类型缺少调用签名的表达式。
.fields.sort((a: any, b: any) => { if (a.key < b.key ){ return -1; }else if(a.key > b.key){ return 1; }else{ return 0; } });
I think you are trying to sort the FieldMap object based on key values. 我认为您正在尝试根据键值对FieldMap对象进行排序。
Here is the link 这是链接
You can try it like this: 您可以这样尝试:
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));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.