var arrayObject = [
{key: 'g'},
{key: 'a'},
{key: 'b'},
{key: 'c'},
{key: 'd'},
{key: 'e'}
];
var array = ['a', 'c', 'd', 'e'];
Desired Output:
[
{key: 'a'},
{key: 'c'},
{key: 'd'},
{key: 'e'},
{key: 'g'}
{key: 'b'}
]
Say I have an array of object to be sorted based on an array. I would like to get the above output. I tried the following.
arrayObject.sort(function(a, b){
return array.indexOf(a.key) - array.indexOf(b.key);
});
I got the following output:
[
{key: 'g'},
{key: 'b'},
{key: 'a'},
{key: 'c'},
{key: 'd'}
{key: 'e'}
]