Итого мне кажется ты нас немного дуришь друг, ты не можешь получить в 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"}
]
собственно то чего вы и хотели, не благодарите))