0

我有一个名为“notes”的多维数组。它具有字段“note1”、“note2”和“note3”。

我有一个名为“noteNum”的变量,可以设置为 1、2 或 3。

如果“noteNum = 2”,那么“notes[0].note + noteNum”应该等于“notes[0].note2”。但我似乎无法附加变量?为什么不?

我的代码如下:

// Array constructor
function notesConstructor(note1, note2, note3) {
    this.note1 = note1;
    this.note2 = note2;
    this.note3 = note3;
}

var notes = new Array();

notes[0] = new notesConstructor("Note 1A example note", "Note 2A example note", "Note 3A example note");
notes[1] = new notesConstructor("Note 1B example note", "Note 2B example note", "Note 3B example note");

console.log(notes[0].note1); // "Note 1A example note"

// WHERE THE PROBLEM IS...
var noteNum = 2;

console.log(notes[0].note + noteNum); // This SHOULD be "Note 2A example note" but it doesn't work

小提琴:http: //jsfiddle.net/baUaL/

4

2 回答 2

1

尝试这样的事情:

console.log(notes[0]["note" + noteNum]);

就像现在一样,您正在尝试访问未定义的字段“note”。

于 2013-09-22T21:30:39.757 回答
0

尝试console.log( notes[0]["note"+noteNum] )

于 2013-09-22T21:29:55.203 回答