根据每个对象的ID重新排列数组

阿尔伯特·科佩尔玛

我想知道如何重新排列数组,以使每个对象都位于其自身的索引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];
}

PS!无法保证最低Id为1,并且最低Id与最高Id之间没有间隙,例如2,10,5,3等。

或Drori

您可以使用Array#reduce创建一个数组,其中包含根据其ID放置的项目。但是,如果ID不连续,则将获得稀疏数组(带有孔的数组- undefineds)。

var unOrderedArray=[{Id:2,Name:"Bob"}, {Id:1,Name:"Julian"}, {Id:3,Name:"Jeff"}, {Id:10,Name:"Tom"}];

var orderedArray = unOrderedArray.reduce(function(arr, item) {
  arr[item.Id - 1] = item;

  return arr;
}, []);

console.log(orderedArray); // since the Tom's id is 10, you'll get 6 undefined items between Tom and Jeff

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

根据嵌套数组重新排列对象数组

来自分类Dev

根据公共键/值对重新排列对象数组

来自分类Dev

PHP根据id重新排列数据

来自分类Dev

AngularJS $ scope数组对象重新排列

来自分类Dev

根据数字顺序重新排列数组元素,并以数组id表示

来自分类Dev

Javascript-按数组重新排列对象数组(值)

来自分类Dev

根据JSON数组重新排列HTML表格数据

来自分类Java

Java根据元素编号重新排列数组

来自分类Dev

JavaScript:根据与x的绝对差重新排列数组元素

来自分类Dev

根据值重新排列数组数据并更新键名称

来自分类Dev

Javascript通过相同的对象键重新排列数组

来自分类Dev

重新排列numpy数组

来自分类Dev

重新排列JavaScript数组

来自分类Dev

根据窗口宽度重新排列链

来自分类Dev

如何根据其内容为每一行重新排列每个单元格?

来自分类Dev

合并多个对象与对象数组中值的总和,并在javascript中重新排列数组

来自分类Dev

R:如何重新排列列表对象

来自分类Dev

如何重新排列DateTime对象的顺序

来自分类Dev

在cmd中重新排列数组元素

来自分类Dev

重新排列数组索引雄辩的Laravel

来自分类Dev

重新排列NumPy数组中的值

来自分类Dev

在Python中重新排列数组

来自分类Dev

排序和重新排列(不同的)数组

来自分类Dev

重新排列Python argparse参数组

来自分类Java

用Java重新排列数组

来自分类Dev

在React JS中重新排列数组

来自分类Dev

如何根据对象的属性在Kotlin中重新排列ArrayList的顺序?

来自分类Dev

根据某些列重新排列二维数组中的条目

来自分类Dev

重新排列单元格后如何更改fetchresultcontroller数组中对象的顺序

TOP 榜单

热门标签

归档