【发布时间】:2022-01-20 05:35:47
【问题描述】:
我正在尝试在 JavaScript 中填充一个三维数组,但在网络浏览器控制台中收到一条错误消息。
这是程序步骤:
• 基于以下结构打开一个 JSON 数组: • 以 3D 创建 tableau_ouverture 数组: ○ 第一个维度是镜头编号; ○ 第二个维度是光圈值; ○ 三维存储三个图像的路径,与这个光圈和这个镜头有关。 • 读取 JSON 数组并应该用数据填充 tableau_ouverture 数组。
// Lit le fichier .json pour trouver le nombre d'objectifs dans la liste.
$.getJSON("includes/comparaison-objectifs.json", function (data) {
// Redimensionne les tableaux créés plus haut pour en faire des tableaux à deux dimensions : l'indice "i" correspond au numéro de l'objectif, la seconde dimension contient la valeur d'ouverture, les images "center", "middle" et "corner" de cette ouverture.
var tableau_ouverture = [];
tableau_ouverture[0] = [];
tableau_ouverture[0][0] = [];
tableau_ouverture[0][0][0] = [];
// Lit le fichier .json pour établir la liste des objectifs.
for (l in data.OBJECTIFS) {
if (data.OBJECTIFS[l].PUBLICATION == "o") {
//Si l'objectif est publié,...
compteur_ouvertures = 0; //Réinitialise à 0 le compteur des ouvertures pour ce nouvel objectif.
if (data.OBJECTIFS[l].f1 != "") {
tableau_ouverture[l][compteur_ouvertures] = data.OBJECTIFS[l].f1; //Stocke la valeur de l'ouverture.
//Stocke les chemins vers les images "center", "middle" et "corner" pour cette ouverture.
tableau_ouverture[l][compteur_ouvertures][0] =
"comparaison-objectifs/" +
tableau_objectifs_reference[l] +
"/center-" +
data.OBJECTIFS[l].f1 +
".jpg";
tableau_ouverture[l][compteur_ouvertures][1] =
"comparaison-objectifs/" +
tableau_objectifs_reference[l] +
"/middle-" +
data.OBJECTIFS[l].f1 +
".jpg";
tableau_ouverture[l][compteur_ouvertures][2] =
"comparaison-objectifs/" +
tableau_objectifs_reference[l] +
"/corner-" +
data.OBJECTIFS[l].f1 +
".jpg";
compteur_ouvertures++; //Incrémente le compteur des ouvertures pour passer à une éventuelle autre ouverture au test suivant.
}
}
}
});
我在该行收到一条错误消息:
tableau_ouverture[l][compteur_ouvertures] = data.OBJECTIFS[l].f1;
谁能帮我理解我做错了什么?
谢谢!
【问题讨论】:
-
也许你应该在错误行之前初始化
tableau_ouverture[l] = []?
标签: javascript arrays multidimensional-array