У меня есть два массива объектов ниже
var array_1 = [{"Product_Name" : "p1"},{"Product_Name" : "p2"},{"Product_Name" : "p3"}]
var array_2 = [{"Product_Name" : "p5"},{"Product_Name" : "p1"},{"Product_Name" : "p3"},{"Product_Name" : "p2"},{"Product_Name" : "p4"}]
, как вы можете видеть, что мой второй массив находится не в том порядке, что и первый массив. я пытаюсь упорядочить второй массив так же, как массив 1.
я использую приведенный ниже код, но получаю результат
function mapOrder (array, order, key) {
array.sort( function (a, b) {
var A = a[key], B = b[key];
if (order.indexOf(A) == order.indexOf(B)) {
return 1;
} else {
return -1;
}
});
return array;
};
var item_array, item_order, ordered_array;
item_array = array_2;
item_order = array_1;
ordered_array = mapOrder(item_array, item_order, 'Product_Name');
любые предложения получают второй массив, как показано ниже
var array_2 = [{"Product_Name" : "p1"},{"Product_Name" : "p2"},{"Product_Name" : "p3"},{"Product_Name" : "p4"},{"Product_Name" : "p5"}]