我想根据第二个数组中的排序顺序对JavaScript数组进行排序。我已经查看了这里其他类似的问题,并编写了以下代码。但输出结果不符合预期。
var legends = ["Maths","Physics","English","French","Chemistry"];
var sortOrder = [1,400,300,200,-3];
legends.sort( function (a, b) {
return sortOrder[legends.indexOf(a)] >= sortOrder[legends.indexOf(b)];
});
console.log(legends);
期望的输出是:
["Chemistry", "Maths", "French", "English", "Physics"];
- 化学表示排序为-3
- 数学表示下一个更高的计数,即1
- 法语表示下一个更高的计数,即200
我正在尝试使用纯JS或D3js获得所需的输出,不确定我是否做对了!