[英]How to prevent default sorting in key value array Javascript
我有这个数组:
recentPageArray = {
"e49f8a67-3075-433a-bacd-30379008fdb2": {
"id": "e49f8a67-3075-433a-bacd-30379008fdb2",
"name": "afolder",
"type": "indexfolder"
},
"3a1ca419-5467-4662-9f7a-f3e9246a1d49": {
"id": "3a1ca419-5467-4662-9f7a-f3e9246a1d49",
"name": "folder1",
"type": "indexfolder"
},
"832f9d4e-297e-40e9-9189-75ce3b86341a": {
"id": "832f9d4e-297e-40e9-9189-75ce3b86341a",
"name": "afolder",
"type": "documentfolder"
},
"86fee1ce-21cd-4948-bf9d-a6c81b897a0e": {
"id": "86fee1ce-21cd-4948-bf9d-a6c81b897a0e",
"name": "afolder",
"type": "documentfolder"
}
}
每当我在此数组中推送新数组时。 键自动排序。 我不想在键库中对数组进行排序。 我需要在数组顶部添加新的按键项目。
我建议您保留2个引用:1数组(列表)1对象(键,值)
Object(key-> val)无法维持元素的插入顺序(并且如果某个新的utopic新浏览器实现希望以降序排列(出于任何原因),您的代码将是明智的。
因此,在填充对象的同时,还要按Array中的element键。 当您要迭代时,请使用Array进行迭代(而且速度也更快)
myObject = {};
myArray = [];
/** POPULATING **/
for (var x in myData){
myObject[myData[x].key] = myData[x].value;
myArray.push(myData[x].key);
}
/** ITERATING **/
for (var y =0; y < myArray.length; y++){
var readingKey = myArray[y];
var storedData = myObject[readingKey];
//your code here
}
问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.