我有一个关联数组,例如:
var arr = {};
arr['alz'] = '15a';
arr['aly'] = '16b';
arr['alx'] = '17a';
arr['alw'] = '09c';
我需要找到任何选定元素的上一个和下一个键。比如说,对于键“aly”,它将是“alz”和“alx”。如果可能,我想通过索引而不是键访问数组。
目前,我正在使用包含键的单独数组来执行此操作,例如
var arrkeys = ['alz','aly','alx','alw'];
最佳答案
对象属性的顺序未定义。你可以使用这个结构...
[{ key: 'alz', value: '15a'},
{ key: 'aly', value: '16b'},
{ key: 'alx', value: '17a'}]
...虽然搜索具有给定键的元素(比如“给我 key
是 'alz'
的元素)并不像与简单的对象。这就是为什么像您一样使用它 - 为索引排序提供单独的数组 - 是另一种常见方法。您可以将此数组附加到该对象,顺便说一句:
var arr={};
arr['alz']='15a';
arr['aly']='16b';
arr['alx']='17a';
arr['alw']='09c';
arr._keysOrder = ['alz', 'aly', 'alx', 'alw'];
关于javascript - JavaScript 中关联数组的键排序和索引访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086017/