在JavaScript数组中获取Next和Previous元素

4 javascript arrays

我有一个大型数组,带有非顺序ID,看起来像这样:

PhotoList[89725] = new Array();
PhotoList[89725]['ImageID'] = '89725';
PhotoList[89725]['ImageSize'] = '123';
PhotoList[89726] = new Array();
PhotoList[89726]['ImageID'] = '89726';
PhotoList[89726]['ImageSize'] = '234';
PhotoList[89727] = new Array();
PhotoList[89727]['ImageID'] = '89727';
PhotoList[89727]['ImageSize'] = '345';
Etc....
Run Code Online (Sandbox Code Playgroud)

我想弄清楚,给定一个ID,我怎样才能获得下一个和之前的ID ......所以我可以这样做:

<div id="current">Showing You ID: 89726 Size: 234</div>
Get Prev Get Next
Run Code Online (Sandbox Code Playgroud)

显然,如果我们在阵列的最后或开头,我们只是一个消息......

kuy*_*kuy 5

为什么不向该数组添加属性'Prev'和'Next'?

PhotoList[89725] = new Array();
PhotoList[89725]['Prev'] = 89724;
PhotoList[89725]['Next'] = 89726;
PhotoList[89725]['ImageID'] = '89725';
PhotoList[89725]['ImageSize'] = '123';
Run Code Online (Sandbox Code Playgroud)

这只是"双链表"数据结构.


Jer*_*rry 5

根据您的示例,ID是顺序的......这是编写示例的另一种方式.新的Array()确实不是你应该使用的,因为那些是你正在创建的对象.另外,我把数字留作字符串,但我不确定你为什么要那样做.你可以添加下一个和prev如kuy建议

PhotoList[89725] = {ImageID: '89725',
                    ImageSize: '123'};
PhotoList[89725] = {ImageID: '89726',
                    ImageSize: '234',
                    Next: '89727',
                    Prev: '89725'};
PhotoList[89725] = {ImageID: '89727',
                    ImageSize: '345'};
Run Code Online (Sandbox Code Playgroud)

所有这些都可以像其他结构一样访问.