通过给定顺序来给数组排序
在开发中,我们会遇到不是按照值的大小来给数组排序,有时候需要给定一段文字,然后通过文字来排序,比如说我们通过给定的
["小明", "小李", "小张", "小华", "小王"]
来排序
const data = [
{ name: "小李", value: "293" },
{ name: "小王", value: "133" },
{ name: "小华", value: "499" },
{ name: "小张", value: "288" },
{ name: "小明", value: "373" },
];
data.sort((star, next) => {
const sortTarget = ["小明", "小李", "小张", "小华", "小王"];
return sortTarget.indexOf(star.name) - sortTarget.indexOf(next.name);
});
console.log(data);
/* output data
[
{ name: '小明', value: '373' },
{ name: '小李', value: '293' },
{ name: '小张', value: '288' },
{ name: '小华', value: '499' },
{ name: '小王', value: '133' }
]
*/