我有一个大型数组,带有非顺序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)
显然,如果我们在阵列的最后或开头,我们只是一个消息......
为什么不向该数组添加属性'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)
这只是"双链表"数据结构.
根据您的示例,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)
所有这些都可以像其他结构一样访问.
| 归档时间: |
|
| 查看次数: |
24034 次 |
| 最近记录: |