javascript - JavaScript 中的多维数组 : Cannot set property '0' of undefined

标签 javascript

我正在尝试构建一个字符串数组,但我得到了一个

Uncaught TypeError: Cannot set property '0' of undefined

我真的不明白为什么,这是我的代码。

$("#tableLits > tbody > tr input").filter(function(){ return $(this).val() !== '' }).each(function(){
    nom = $(this).attr('name');
    numChambre = parseInt(nom.charAt(nom.length-1));
    taille = nom.slice(nom.charAt(nom.length-2),-2).replace('lit','');          
    chambres[numChambre][nbLits] = taille;              
    nbLits = oldChambre == numChambre ? nbLits++ : 0;
    oldChambre = numChambre;
});
console.log(chambres);

错误在这一行:

chambres[numChambre][nbLits] = taille;  

但是当我查看调试器时,

  • Chambre 是一个数组
  • 室数 = 1
  • nbLit = 0

我的目标是将给定房间(chambres)中的床(taille)尺寸分配给床号(nbLit)

编辑

例如,我有这个: 点燃80n1 点燃90n1 点燃120n2 点燃160n3

我想输出这样的内容:

Chambre 1 -> 1 bed : 80cm, 1 bed : 90cm
Chambre 2 -> 1 bed : 120 cm
Chambre 3 -> 1 bed : 160cm

最佳答案

JavaScript 没有多维数组。您可以拥有一个数组数组,但必须显式初始化每个“子数组”:

if (!chambres[numChambre]) {
    chambres[numChambre] = [];
}
chambres[numChambre][nbLits] = taille; 

关于javascript - JavaScript 中的多维数组 : Cannot set property '0' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300036/

相关文章:

javascript - 如何为弹出窗口设置动态位置?

javascript - 如果选中输入单选,则更改父级的颜色 : can't make it work with jQuery

javascript - 在jquery中将元素置于焦点之下

javascript - 内容隐藏在导航栏中 - 一页网站

javascript - 如何在javascript中优先执行dom

javascript - 使用 jQuery 获取特定行的值

Javascript 折叠延迟功能

javascript - Google Maps Api 从标记中获取标题

javascript - 间隔(或超时)内的jquery .animate在清除后继续进行

javascript - 发布时收到空请求