Javascript对象数组排序问题

Javascript对象数组排序问题,javascript,Javascript,我有一个JavaScript对象数组来排序和排列它,作为一个新的对象数组来保持顺序 我的对象数组。我按我想要的方式订购。在这种情况下,对象的索引为0、1和2 [{0: {name: 'Joel', age:25, id: 2}}, {1: {name: 'Sam', age: 23, id: 4}}, {2: {name: 'Tim', age:27, id: 3}}] 我想要的是将'id'作为索引值。我希望它按“名称”的升序排列(保留上述顺序) 我试着使用这个函数 for (i in mem

我有一个JavaScript对象数组来排序和排列它,作为一个新的对象数组来保持顺序

我的对象数组。我按我想要的方式订购。在这种情况下,对象的索引为0、1和2

[{0: {name: 'Joel', age:25, id: 2}}, {1: {name: 'Sam', age: 23, id: 4}}, {2: {name: 'Tim', age:27, id: 3}}]
我想要的是将'id'作为索引值。我希望它按“名称”的升序排列(保留上述顺序)

我试着使用这个函数

for (i in members) {
    member[members[i].id] = members[i];
}
但它失败了。输出是

[{}, {}, {name: "Joel", age:25, id: 2}, {name: "Tim", age:27, id: 3}, {name: "Sam", age: 23, id: 4}]
我也尝试过使用forEach和sort方法。但一切都失败了


有没有办法用JavaScript实现这一点

你可以在和的帮助下完成

let obj=[{0:{name:'Joel',age:25,id:2}},{1:{name:'Sam',age:23,id:4},{2:{name:'Tim',age:27,id:3}]
设op=obj.map((e,索引)=>{
返回{
[e[index].id]:e[index]
}
}).sort((a,b)=>Object.keys(a)-Object.keys(b))

console.log(op)
[2:{name:Joel,…
语法无效。数组没有键值对。另外,字符串需要分隔符。谢谢。我更正了它。@tha07您以前想要的输出与当前的输出不同。您想要哪一个?我希望失败的输出按name属性排序。我想我误解了这种情况。代码狂人是一个nswer是正确的。我对数组的编辑是错误的。我更正了我的数组。这段代码对这个问题还可以吗。@tha07是的。我只是通过删除语法错误添加了这个答案。否则它甚至不会运行。我误解了它。谢谢你的帮助:)
[{}, {}, {name: "Joel", age:25, id: 2}, {name: "Tim", age:27, id: 3}, {name: "Sam", age: 23, id: 4}]