Итого мне кажется ты нас немного дуришь друг, ты не можешь получить в JS такой объект : 
var jeD= {
    1: {
        id: 2,
        value: 43,
        name: 'GGP'
    },
    1: {
        id: 4,
        value: 22,
        name: 'GGU'
    },
    2: {
        id: 55,
        value: 95,
        name: 'PLVAl'
    },
    2: {
        id: 56,
        value: 13,
        name: 'PLINT'
    },
    2: {
        id: 59,
        value: 133,
        name: 'BARG'
    },
};
Ведь в JS одинаковые свойства затирают друг друга, итого на выходе ты получишь вот такой объект:
jeD= {
    1: {
        id: 4,
        value: 22,
        name: 'GGU'
    },
    2: {
        id: 59,
        value: 133,
        name: 'BARG'
    },
};
Поэтому предлагаю сделать хотя бы так:
var jeD= {
  'items': [
  <?php foreach($data as $item): ?> 
    'number':<?php echo $item['number'] ?>,
    'id': <?php echo $item['id'] ?>,
    'value': <?php echo $item['value'] ?>,
    'name': <?php echo $item['name'] ?>
  <?php endforeach; ?>
    ],
sortNum(num) {return this.items.filter( elem => elem.number == num).sort( (e1,e2) => e1.value - e2.value)} 
};
Теперь метод sortNum() будет возвращать вам отсортированный по номеру
Например jeD.sortNum(2) вернет вам :
[
{number: 2, id: 56, value: 13, name: "PLINT"},
{number: 2, id: 55, value: 95, name: "PLVAl"},
{number: 2, id: 59, value: 133, name: "BARG"}
]
собственно то чего вы и хотели, не благодарите))