Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中按特定键值对数组排序_Javascript - Fatal编程技术网

在Javascript中按特定键值对数组排序

在Javascript中按特定键值对数组排序,javascript,Javascript,我有一个没有特定顺序或排序的重复字符串数组 const array = ["Train", "Car", "Car", "Train", "Bicycle", "Car", "Bicycle", "Car", "Train"] 我想按特定顺序对数组进行排序,特别是火车、自行车、汽车 因此,应该对其进行分类 [&quo

我有一个没有特定顺序或排序的重复字符串数组

const array = ["Train", "Car", "Car", "Train", "Bicycle", "Car", "Bicycle", "Car", "Train"]
我想按特定顺序对数组进行排序,特别是火车、自行车、汽车

因此,应该对其进行分类

["Train", "Train", "Train", "Bicycle", "Bicycle", "Car", "Car", "Car", "Car"]
此外,如果数组不包含其中一个字符串,它仍应保持相同的顺序,只需跳过该字符串


我尝试了许多不同的方法来排序,但运气不佳。

简单的排序函数可以完成您的工作

const数组=[
“火车”,
“汽车”,
“汽车”,
“火车”,
“自行车”,
“汽车”,
“自行车”,
“汽车”,
“火车”,
];
常量顺序=(str)=>{
如果(str==‘Train’)返回1;
如果(str==‘Bicycle’)返回2;
如果(str=='Car')返回3;
返回0;
};
const ret=array.sort((x,y)=>order(x)-order(y));

控制台日志(ret)简单的订单功能可以完成您的工作

const数组=[
“火车”,
“汽车”,
“汽车”,
“火车”,
“自行车”,
“汽车”,
“自行车”,
“汽车”,
“火车”,
];
常量顺序=(str)=>{
如果(str==‘Train’)返回1;
如果(str==‘Bicycle’)返回2;
如果(str=='Car')返回3;
返回0;
};
const ret=array.sort((x,y)=>order(x)-order(y));

控制台日志(ret)您可以获取具有所需顺序的对象,并根据该对象的值进行排序

const
数组=[“火车”、“汽车”、“汽车”、“火车”、“自行车”、“汽车”、“自行车”、“汽车”、“火车”],
订单={火车1辆,自行车2辆,汽车3辆};
sort((a,b)=>order[a]-order[b]);

log(…数组)您可以获取具有所需顺序的对象,并根据该对象的值进行排序

const
数组=[“火车”、“汽车”、“汽车”、“火车”、“自行车”、“汽车”、“自行车”、“汽车”、“火车”],
订单={火车1辆,自行车2辆,汽车3辆};
sort((a,b)=>order[a]-order[b]);
log(…数组)
Array.sort(比较器)
Array.sort(比较器)