javascript - 根据每个对象的 id 重新排序数组

标签 javascript arrays sorting

我想知道如何重新排序数组,以便每个对象都位于其自己的 id - 1 的索引处。

//Lets say we have an array like so
var unOrderedArray=[{Id:2,Name:"Bob"}, {Id:1,Name:"Julian"},
{Id:3,Name:"Jeff"}]

我可以写什么样的函数才能得到:

var orderedArray=[{Id:1,Name:"Julian"},{Id:2,Name:"Bob"},{Id:3,Name:"Jeff"}]

到目前为止我已经试过了,但它不起作用:

for(let i = 0;i<unOrderedArray.length;i++){
    correctlyOrderedArray[unOrderedArray[i].Id]=unOrderedArray[i];
}

附言!不保证最低Id为1,最低和最高Id之间没有间隙,例如2,10,5,3等。

最佳答案

使用排序 method .无论您拥有哪个 Id

var unOrderedArray=[{Id:21,Name:"Bob"}, {Id:5,Name:"Julian"},
    {Id:313,Name:"Jeff"}, {Id:4,Name:"Ivan"}];

orderedArray = unOrderedArray.sort(function(a, b) {
   return a.Id - b.Id;
});
console.log(orderedArray);

关于javascript - 根据每个对象的 id 重新排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45904998/

相关文章:

java - 如何使用流连接两个双数组

sorting - Elastic Search 使用另一个字段值对具有相同分数的文档进行排序

mongodb - 对于按自定义字段排序的最近文档,什么是合适的 Pub/Sub?

javascript - jQuery 函数链接与基于类的条件,可能吗?

javascript - 无法从 HTML 元素中删除添加类

c - 结构体数组正在打印垃圾

python - "TypeError: string indices must be integers"尝试在 python 中制作二维数组时

javascript - 克隆一个 div 并更改它的 ID 以及它的所有子项以使其唯一

javascript - jQuery Ajax 文件上传

sql - 使用TOP 5 Access SQL返回超过5个结果?