-1

我有一个庞大的 JavaScript 数组列表,如下所示:

var filesArray = new Array(
   new Array('This is a description 2', 'imagename'),
   new Array('This is a description 3', 'image_2'),
   new Array('This is a description test', 'test'),
);

每个数组都包含有关图像的信息,然后将其加载到 HTML 页面中。每次将照片添加到图库时,管理员都会在此数组中添加一行。我有更好的方法来做到这一点,但我不知道 PHP。

我需要为这些数组项添加一个时间元素。例如,我需要能够按周显示照片。但是,它们都必须来自这个主数组,它根本没有日期信息。这可能吗?有更好的路线吗?

4

3 回答 3

5

使用一个对象。JavaScript 对象可以这样实例化:

var img = {
  file: 'someplace.jpg',
  time: '3:00',
};

只需填充一组图像对象,您就可以开始了!

var images = [];
images.push({
  file: 'myfirstimages.jpg',
  time: '2:45'
});
images.push({
  file: 'mysecondimage.jpg',
  time: '3:15'
});
images.push({
  file: 'mythirdimage.jpg',
  time: '3:45'
});

你明白了。您也可以直接声明数组。
如果您不想硬编码时间,我建议使用 JavaScript 的Date 对象

于 2013-08-22T20:43:11.600 回答
0

您可以将日期添加为数组的第三个元素:

var filesArray = new Array(
   new Array('This is a description 2', 'imagename', new Date('10-10-2013')),
   new Array('This is a description 3', 'image_2', new Date('10-10-2013')),
   new Array('This is a description test', 'test', new Date('10-10-2013')),
);
于 2013-08-22T20:44:35.083 回答
0

据我了解,您正在尝试保存图像上传到服务器的日期。因此,向现有的 2(图像和描述)添加一个额外的字段。如果我是你,我会创建一个对象数组:

var files = [
    {image: 'image1', description: 'description1', timestamp: function(){ return Date.now(); } },
    {image: 'image2', description: 'description2', timestamp: function(){ return Date.now(); } }
];

然后,如果你想访问,比方说,图像 2,你可以像这样访问它:

var image2 = files[1];

//access image2 description
var description = image2.description;
console.log(description) // this will return 'description2'
于 2013-08-22T20:47:40.317 回答