在我的角度项目中,我具有如下对象数组。我需要使用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' },
]
答案 0 :(得分:-1)
简短的答案是你不能。对象具有不确定的顺序-尽管当您一遍又一遍地运行项目时,它通常看起来很稳定,但是您不应该依赖于它们的顺序。
如果出于某种原因确实要按特定顺序遍历对象键,则可以按所需顺序用键创建一个数组,然后遍历该数组。类似于以下内容:
var response = {... your object ...}
var keyOrder = ['hrcode', 'name', 'desc'];
keyOrder.forEach(key => {
console.log(key, 'response:', response[key]);
});
在不知道为什么要按顺序排列它们的情况下,我无法给出更好的例子。