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

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中找到的所有其他元素之前。

10-04 22:06