我定义了一个常量,但它没有显示在 for 循环中



所以我正在学习编程,我是一个初学者。我有一个带有几个字符串的数组";名称年龄m/f";在里面,我必须将每个字母转换为大写,加上";年";将m/f更改为男性或女性。我试着在像这样的循环中这样做

const people = ["mark;16;m" , "carl;18;m" , "emma;20;f"]
for(let z = 0 ; z < people.length ; z++){
people[z] = (people[z].split(";"));
people[z[0]] = people[z[0]].toUpperCase(0);
people[z[1]] = people[z[1]] + " years";
if(people[z[2]] === "m") osoby[z[2]] = "male"               
else people[z[2]] = "female";
}

当我运行代码时,控制台中弹出一个错误";无法读取未定义的"的属性"toUpperCase";,我该怎么解决这个问题?

而不是

people[z[0]] = people[z[0]].toUpperCase(0);

你应该使用

people[z][0] = people[z][0].toUpperCase(0);

这就是嵌套数组访问的工作方式。z[0]只是计算为未定义,因为z是一个数字。

如果删除z,它应该有效。它应该是people[0],而不是people[z[0]。

最新更新