Переупорядочить положение объекта с помощью Javascript / Lodash - PullRequest
0 голосов
/ 13 февраля 2019

В моем угловом проекте у меня есть массив объектов, как показано ниже.Мне нужно изменить расположение объекта с помощью javascript / lodash. Кто-нибудь мне помогает?

Response (Array of Object):
[
   { 'name': 'MMK', 'desc': 'test descritpion', 'hrcode': 'EMP001' },
   { 'name': 'SSK', 'desc': 'test descritpion', 'hrcode': 'EMP002' },
   { 'name': 'AAK', 'desc': 'test descritpion', 'hrcode': 'EMP002' },
]

Здесь я получаю ответ, как указано выше, и это должно изменить порядок клавиш, а неЗначение.

Ожидаемое значение

[
       { 'hrcode': 'EMP001', 'name': 'MMK', 'desc': 'test descritpion' },
       { 'hrcode': 'EMP002', 'name': 'SSK', 'desc': 'test descritpion'  },
       { 'hrcode': 'EMP002', 'name': 'AAK', 'desc': 'test descritpion'  },
    ]

1 Ответ

0 голосов
/ 13 февраля 2019

Краткий ответ: нельзя.У объектов есть неопределенный порядок - даже если они обычно выглядят стабильно, когда вы запускаете проект снова и снова, вы не должны полагаться на их порядок.

Если вы действительно хотите по какой-то причине перебирать ключи объекта в определенном порядкеВы можете создать массив с ключами в нужном вам порядке, а затем выполнить итерацию по этому массиву.Что-то вроде следующего:

var response = {... your object ...}
var keyOrder = ['hrcode', 'name', 'desc'];
keyOrder.forEach(key => {
  console.log(key, 'response:', response[key]);
});

Не зная точно, почему вы хотите их в таком порядке, я не могу привести лучший пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...