javascript 根据另一个数组顺序排序对象数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 根据另一个数组顺序排序对象数组相关的知识,希望对你有一定的参考价值。
/**
* Sort array of objects based on another array
*/
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;
};
/**
* Example:
*/
var item_array, item_order, ordered_array;
item_array = [
{ id: 2, label: 'Two' }
, { id: 3, label: 'Three' }
, { id: 5, label: 'Five' }
, { id: 4, label: 'Four' }
, { id: 1, label: 'One'}
];
item_order = [1,2,3,4,5];
ordered_array = mapOrder(item_array, item_order, 'id');
console.log('Ordered:', JSON.stringify(ordered_array));
以上是关于javascript 根据另一个数组顺序排序对象数组的主要内容,如果未能解决你的问题,请参考以下文章
编写一个函数对对象数组进行排序(通过使用另一个对象来指定排序路径和顺序)
Javascript按字母顺序排序并将所有双精度数移动到数组的末尾
js对象数组按照另一个数组排序
根据另一个 id 数组对对象数组进行排序
根据另一个数组排序顺序对多个数组进行排序
为啥以下 javascript 数组排序决定我的两个排序顺序参数未定义?