显示多维数组的信息?

时间:2012-04-29 22:53:42

标签: javascript jquery arrays multidimensional-array push

我有一个多维数组的新输入。已调用的原始输入在被调用时正确显示,但新输入写为“未定义”。我认为它将新输入视为变量。你如何让它们显示为一个字符串?

var original = new Array(); //this is the array
function input(title, artist, ddate, genre, picsrc) {
    this.Title = title;
    this.Artist = artist;
    this.Ddate = parseInt(parseFloat(ddate));
    this.Genre = genre;
    this.Picsrc = picsrc;
}
original[0] = {title:"Hope II", artist:"Gustav Klimt", ddate:1907, genre:"Art Nouveau", picsrc:"gustav.jpg"}; //and so on

添加到数组的值取自表单。

function addit(form) {
G = form.Title.value //as a test

original[original.length++] =  new input(form.Title.value, form.Artist.value, form.Ddate.value, form.Genre.value, form.Picsrc.value)

alert("your entry has been added")
alert(G) //value shows up in the alert
}

但在此函数中回调它时:

$("#info").html(original[currentrecord]["title"]+"<br /><h2>"+original[currentrecord]["artist"]+"</h2>"+original[currentrecord]["ddate"]+"<br />"+original[currentrecord]["genre"]);

一切都被写成“未定义”。 我假设数据已成功添加到数组中,但可能格式不正确?

1 个答案:

答案 0 :(得分:1)

我更喜欢使用点符号,但这不是必需的。

真正的问题是:JavaScript具有案例性。

我会这样做:

original[currentrecord].Title
original[currentrecord].Artist

依旧......

在代码中的一个位置,您使用全小写(初始化原始[0]时),但在构造函数中,您使用大写字母表示第一个字母。