我有一個物件。我需要按 TranType 屬性對其進行排序。
Trantype 類似于 CS 、CS-、RS 、RS-、OPO、OPI、Security in、Security out。我需要按 CS 、CS-、RS 、RS-、OPO、OPI、Security in、Security out 對其進行排序
例子:
[
{
'TranType':'CS ',
'Name': 'Kumar'
},
{
'TranType':'RS ',
'Name': 'Lak'
},
{
'TranType':'CS ',
'Name': 'Cnk'
},
{
'TranType':'CS-',
'Name': 'Pro'
},
{
'TranType':'CS-',
'Name': 'Lhj'
},
{
'TranType':'RS-',
'Name': 'Speed'
},
{
'TranType':'OPI',
'Name': 'Neck'
},
{
'TranType':'OPO',
'Name': 'Dok'
},
{
'TranType':'Security In',
'Name': 'Kol'
},
{
'TranType':'Security out',
'Name': 'Klp'
},
{
'TranType':'OPI',
'Name': 'Tpi'
},
{
'TranType':'RS ',
'Name': 'Alo'
},
{
'TranType':'OPO',
'Name': 'Tpp'
},
{
'TranType':'Security In',
'Name': 'Jkl'
},
{
'TranType':'RS-',
'Name': 'Aoi'
},
{
'TranType':'Security out',
'Name': 'Nko'
}
]
我需要將其排序為以下之一。
在這里,我需要將 ( CS , OPI, RS , Security In ) 的 trantyoe 放在首位。并且(CS-、RS-、OPO、安全輸出)是第二優先級。
[
{
'TranType':'CS ',
'Name': 'Kumar'
},
{
'TranType':'CS ',
'Name': 'Cnk'
},
{
'TranType':'OPI',
'Name': 'Neck'
},
{
'TranType':'OPI',
'Name': 'Tpi'
},
{
'TranType':'RS ',
'Name': 'Lak'
},
{
'TranType':'RS ',
'Name': 'Alo'
},
{
'TranType':'Security In',
'Name': 'Kol'
},
{
'TranType':'Security In',
'Name': 'Jkl'
},
{
'TranType':'CS-',
'Name': 'Pro'
},
{
'TranType':'CS-',
'Name': 'Lhj'
},
{
'TranType':'RS-',
'Name': 'Speed'
},
{
'TranType':'RS-',
'Name': 'Aoi'
},
{
'TranType':'OPO',
'Name': 'Dok'
},
{
'TranType':'OPO',
'Name': 'Tpp'
},
{
'TranType':'Security out',
'Name': 'Klp'
},
{
'TranType':'Security out',
'Name': 'Nko'
}
]
請幫助我按預期獲得輸出。
uj5u.com熱心網友回復:
最簡單和最直接的方法是使用物件作為TranType優先級值的查找......
const tranTypePrecedences = {
'CS ': 1,
'OPI': 2,
'RS ': 3,
'Security In': 4,
'CS-': 5,
'RS-': 6,
'OPO': 7,
'Security out': 8,
};
console.log(
[{
'TranType':'CS ',
'Name': 'Kumar'
}, {
'TranType':'RS ',
'Name': 'Lak'
}, {
'TranType':'CS ',
'Name': 'Cnk'
}, {
'TranType':'CS-',
'Name': 'Pro'
}, {
'TranType':'CS-',
'Name': 'Lhj'
}, {
'TranType':'RS-',
'Name': 'Speed'
}, {
'TranType':'OPI',
'Name': 'Neck'
}, {
'TranType':'OPO',
'Name': 'Dok'
}, {
'TranType':'Security In',
'Name': 'Kol'
}, {
'TranType':'Security out',
'Name': 'Klp'
}, {
'TranType':'OPI',
'Name': 'Tpi'
}, {
'TranType':'RS ',
'Name': 'Alo'
}, {
'TranType':'OPO',
'Name': 'Tpp'
}, {
'TranType':'Security In',
'Name': 'Jkl'
}, {
'TranType':'RS-',
'Name': 'Aoi'
}, {
'TranType':'Security out',
'Name': 'Nko'
}].sort((a, b) =>
tranTypePrecedences[a.TranType] - tranTypePrecedences[b.TranType]
)
);
.as-console-wrapper { min-height: 100%!important; top: 0; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/333897.html
標籤:javascript 数组 排序 抬头
下一篇:按LocalDate排序映射流
