1 回答
TA贡献1936条经验 获得超6个赞
您可以为所需的顺序获取一个对象,并获取与排序匹配的对象的值。
const
getValue = o => Object.values(o).find(v => values.includes(v)),
data = [{ rs: { "1 MONTHS": "100", "1 YEAR": "200", "3 MONTHS": "30", "6 MONTHS": "400" } }, { rs: { "1 MONTHS": "500", "1 YEAR": "40", "3 MONTHS": "700", "6 MONTHS": "800" } }, { rs: { "1 MONTHS": "199", "1 YEAR": "1989", "3 MONTHS": "597", "6 MONTHS": "20" } }, { rs: { "1 MONTHS": "356", "1 YEAR": "10", "3 MONTHS": "877", "6 MONTHS": "1145" } }],
values = ["10", "20", "30", "40"],
order = Object.fromEntries(values.map((v, i) => [v, i + 1]));
data.sort(({ rs: a }, { rs: b }) => order[getValue(a)] - order[getValue(b)]);
console.log(data);
.as-console-wrapper { max-height: 100% !important; top: 0; }
添加回答
举报