| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- var allMediaTypeList = {
- a: {
- txt: '摄像头',
- priority: 1,
- },
- b: {
- txt: 'dfs',
- priority: 21,
- },
- c: {
- txt: '32',
- priority: 2,
- },
- d: {
- txt: 'abc',
- priority: 2,
- },
- };
- function objectSort(data: { obj; sortField; sort?: 'asc' | 'desc' }) {
- // 将对象转换为数组
- var entries = Object.entries(data.obj);
- entries.sort(function (a, b) {
- // @ts-ignore
- var res1 = a[1][data.sortField];
- // @ts-ignore
- var res2 = b[1][data.sortField];
- if (data.sort === 'desc') {
- return res2 - res1;
- } else {
- return res1 - res2;
- }
- });
- // 将排序后的数组转换回对象
- var sortedMediaTypeList = {};
- for (var i = 0; i < entries.length; i++) {
- sortedMediaTypeList[entries[i][0]] = entries[i][1];
- }
- return sortedMediaTypeList;
- }
- console.log(
- objectSort({ obj: allMediaTypeList, sortField: 'priority', sort: 'desc' })
- );
|