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


  未捕获的TypeError:无法设置未定义的属性“ 0”


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

$("#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是一个数组
numChambre = 1
nbLit = 0


我的目标是将给定房间(chambres)中的床号(tail)分配给床号(nbLit)。

编辑

例如,我有这个:
lit80n1
lit90n1
120n2
第1603章

我想输出如下内容:

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;

10-06 03:58