在Javascript中保留对象数组排序后的插入顺序
Preserve insert order of object array after sort in Javascript
我有一个像下面这样的对象数组:
var a = {
"TypeID" : 15,
"Attr1" : "Something"
};
var b = {
"TypeID" : 17,
"Attr1" : "Something"
};
var c = {
"TypeID" : 15,
"Attr1" : "Something"
};
var d = {
"TypeID" : 15,
"Attr1" : "Something"
};
var e = {
"TypeID" : 1,
"Attr1" : "Something"
};
var objectArray = new Array();
objectArray.push(a);
objectArray.push(b);
objectArray.push(c);
objectArray.push(d);
我尝试使用TypeID作为顺序值对数组进行排序,但是我需要保留顺序插入。我的意思是,最终的顺序必须如下:
e,a,c,d,b
但是当我实现经典排序算法(冒泡或快速排序)时,我得到数组有序,但相似值(TypeID)的插入顺序在不同的位置。
我试着在第一时间订购类似类型的对象,但与其余的迷失了。
如果你要问的是如何实现一个排序函数来保留具有相同排序键的对象的初始顺序,那么我所知道的唯一方法是:
-
使用一种排序算法,保证保留关系的原始顺序
-
添加一个辅助键,该辅助键是原始排序序号,并使用查找关联的辅助排序算法
相关文章:
- Algo查找深度并在JSON数组中按顺序插入
- 在JavaScript中,对象如何跟踪键/值的插入顺序
- 使用grunt以正确的顺序插入ember文件
- 插入按字母顺序、javascript或jquery排序的新列表
- 通过多次调用按顺序将对象插入数组
- 如何在java中保留插入顺序,恒定时间检索和动态调整大小
- 如何在node.js应用程序中的mongodb中按层次结构顺序插入数据
- 将数组的顺序插入到数据库中
- ractive js :与模板中键部分关联的嵌套对象列表的直接 DOM 插入排序/排序 #each 顺序
- 在MongoDB中更新后,插入项目的顺序搞砸了
- 使用node.js将表单数据插入到mysql数据库表中,然后按顺序执行
- Backbone.js-按顺序插入新的视图项
- javascript中的数组不按键插入顺序打印
- 插入数字键时,将顺序保存在Object中
- 主干,插入模型,同时保持排序顺序
- 在Javascript中保留对象数组排序后的插入顺序
- 动态插入的脚本标记没有按正确的顺序执行
- 当按相反顺序插入元素时,ReactJS会重新初始化iframe
- 重置“插入排序顺序”;用于主干收集
- 是否有任何主流浏览器不保留JavaScript对象中的插入顺序