按键分类的javascript中的关联数组的顺序和索引的访问顺序

biz*_*ger 2 html javascript arrays

我有一个关联数组,如:

var arr={};
arr['alz']='15a';
arr['aly']='16b';
arr['alx']='17a';
arr['alw']='09c';
Run Code Online (Sandbox Code Playgroud)

我需要找到任何所选元素的上一个和下一个键.比方说,对于关键'aly',它将是'alz'和'alx'.如果可能,我想通过索引而不是密钥访问数组.

目前,我正在使用包含键的单独数组来执行此操作,例如

var arrkeys=['alz','aly','alx','alw'];
Run Code Online (Sandbox Code Playgroud)

rai*_*7ow 5

对象属性的排序是未定义的.你可以使用这个结构......

[{ key: 'alz', value: '15a'},
 { key: 'aly', value: '16b'},
 { key: 'alx', value: '17a'}]
Run Code Online (Sandbox Code Playgroud)

...虽然与给定键搜索的元素(如"给我,元素key'alz')不是那样直接与简单的对象.这就是为什么像你一样使用它 - 为索引的排序提供单独的数组 - 是另一种常见的方法.您可以将此数组附加到该对象,顺便说一句:

var arr={};
arr['alz']='15a';
arr['aly']='16b';
arr['alx']='17a';
arr['alw']='09c';
arr._keysOrder = ['alz', 'aly', 'alx', 'alw'];
Run Code Online (Sandbox Code Playgroud)