Javascript compare 2 arrays and create a new array based on the order

This should work, order of keys non existing in order array can’t be predicted tho.

var compareFunc = function(a, b) {
    let indexA = dimentionFilterKeyOrder.indexOf(a['filterKey']);
  let indexB = dimentionFilterKeyOrder.indexOf(b['filterKey']);
  if(indexA==-1)
    return 1;
  if(indexB==-1)
    return -1;
  return indexA-indexB;
}

var sorted = dimentionFilterKeys.sort(compareFunc)

Leave a Comment