假设我有两个数组,如下所示:
var SortedArray = [25, 123, 2464, 112, 54, 51, 347, 4572, 634];
var ArrayToSort = [634, 25, 51, 123];
SortedArray
是一个包含许多元素顺序的数组。 ArrayToSort
仅包含SortedArray
的某些元素,并且ArrayToSort
中的每个元素都肯定也包含在SortedArray
中。最好的方法是对ArrayToSort进行排序,以使该数组中的元素以与SortedArray相同的顺序出现并获得以下结果:
ArrayToSort = [25, 123, 51, 634];
谢谢。
最佳答案
试试这个:
ArrayToSort.sort(function(x, y) {
return SortedArray.indexOf(x) - SortedArray.indexOf(y);
});
Demonstration
注意:使用此方法,如果某个元素未出现在
SortedArray
中,它将被放置在SortedArray
中找到的所有其他元素之前。