基于另一个int数组排序int数组

fre*_*hie 4 javascript arrays sorting jquery

假设我有两个数组,如下所示:

var SortedArray = [25, 123, 2464, 112, 54, 51, 347, 4572, 634];
var ArrayToSort = [634, 25, 51, 123];
Run Code Online (Sandbox Code Playgroud)

SortedArray是一个包含许多元素顺序的数组.ArrayToSort只包含一些元素,SortedArray并且每个元素ArrayToSort都肯定也在SortedArray.

排序ArrayToSort的最佳方法是什么,以便该数组中的元素以与SortedArray相同的顺序出现并获得此结果:

ArrayToSort = [25, 123, 51, 634];
Run Code Online (Sandbox Code Playgroud)

谢谢.

p.s*_*w.g 6

试试这个:

ArrayToSort.sort(function(x, y) {
    return SortedArray.indexOf(x) - SortedArray.indexOf(y);
});
Run Code Online (Sandbox Code Playgroud)

示范

注意:使用此方法,如果没有出现元素SortedArray,它将被放置在找到的所有其他元素之前SortedArray.