【发布时间】:2015-07-29 02:46:16
【问题描述】:
假设我在下面有这个数组:
['uploads']
{
['file_1']
{
//maybe some attributes here
}
['file_2']
{
//maybe some attributes here
}
['folder_1']
{
['file_1']
{
//maybe some attributes here
}
['file_2']
{
//maybe some attributes here
}
['folder_1']
{
['file_1']
{
//maybe some attributes here
}
['file_2']
{
//maybe some attributes here
}
}
}
['folder_2']
{
['file_1']
{
//maybe some attributes here
}
['file_2']
{
//maybe some attributes here
}
}
}
假设这个数组或对象被称为数据。我认为 ['uploads'] 是第一级;到目前为止,一级只有一个条目。 ['uploads'] 的第 2 级有 4 个条目、2 个文件和 2 个文件夹。如果一个条目是一个文件夹,它可以有更多的级别,你会得到图片。
然后所有这些都在 jquery 中创建为页面上的可点击 div。当然只有第一级。
因此,如果用户单击 folder_1,我想用 ['uploads'] 的第二级的 folder_1 填充另一个名为 'current_directory' 的数组,如下所示:current_directory = data['uploads']['folder_1'];。然后这个数组被创建为可点击的 div 并且用户可以再次点击某些东西,如果它是一个文件夹,它将使用新文件夹重新填充 current_directory,但这次如下:current_directory = current_directory['folder_1']; 或用户点击的任何文件夹。
现在问题来了,当我想回到上一个目录时。我如何跟踪我所在的级别或诸如签入数据(这是整个文件夹结构)数组 current_directory 所属的键(文件夹)。
只是想你应该知道在同一级别中没有两个键,无论是文件还是文件夹,都可以具有相同的名称。然后文件和文件夹显然不会被称为 file_1 和 folder_1 而是用户生成的名称。
哦,然后,我所说的属性是指更多只有文件才能拥有的键,例如 ['type'] 和 ['size']。
【问题讨论】:
-
它不是一个数组,也绝对不是一段 JavaScript...
-
这不是我在 jquery 中输入的用于创建数组的代码,只是一个显示其外观的结构。可能不应该将其作为代码放入,我明白这一点。整个数组是从 php 脚本作为 JSON 对象传递的,因此可以将其视为一个。