使用Javascript / lodash重新排列对象的位置

时间:2019-02-13 16:58:26

标签: javascript angular

在我的角度项目中,我具有如下对象数组。我需要使用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 :(得分:-1)

简短的答案是你不能。对象具有不确定的顺序-尽管当您一遍又一遍地运行项目时,它通常看起来很稳定,但是您不应该依赖于它们的顺序。

如果出于某种原因确实要按特定顺序遍历对象键,则可以按所需顺序用键创建一个数组,然后遍历该数组。类似于以下内容:

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

在不知道为什么要按顺序排列它们的情况下,我无法给出更好的例子。