@gsdev99

Как в объекте выставить определенное свойство первым?

Всем привет, подскажите пожалуйста как правильно выставить определенное свойство первым?
const arr = {
    people: [
        {
            id: 1,
            name: 'Vladimir',
            pos: false
        },
        {
            id: 2,
            name: 'Ivan',
            pos: false
        },
        {
            id: 3,
            name: 'Stas',
            pos: true
        },
        {
            id: 4,
            name: 'Petr',
            pos: false
        }
    ]
};

Необходимо получить следующую структуру:
const arr = {
    people: [
        {
            id: 3,
            name: 'Stas',
            pos: true
        },
        {
            id: 1,
            name: 'Vladimir',
            pos: false
        },
        {
            id: 2,
            name: 'Ivan',
            pos: false
        },
        {
            id: 4,
            name: 'Petr',
            pos: false
        }
    ]
};
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Отвечая на заголовок вопроса – никак. У объектов JavaScript отсутствует фиксированный порядок свойств.

В вашем же случае формируется массив. Как я понимаю, записи со свойством pos: true должны идти в начале. Просто отсортируйте массив по этому признаку:
arr.people.sort((a, b) => b.pos - a.pos)

p.s. некруто называть объект словом arr – вводит в заблуждение, можно подумать, что arr это массив.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Guccigang
Вы уверены что Вам нужно идти именно этим путем?
Какую цель Вы преследуете, когда хотите изменить положение объектов в массиве?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы