Javascript 为什么我的多维数组';s属性不是';不要更新 var isEmpty=true; for(设i=0;i
输出: 未定义 这就是发生的事情Javascript 为什么我的多维数组';s属性不是';不要更新 var isEmpty=true; for(设i=0;i,javascript,typescript,Javascript,Typescript,输出: 未定义 这就是发生的事情 检查所有成员的X属性是否为空 如果是,则自动填充,如果填充了任何属性,则保持原样 您在第一个for循环中出错: var isEmpty = true; for(let i = 0; i< members.length; i++) { var member = members[i]; if(member && member[3]){ isEmpty = false; break;
您在第一个
for
循环中出错:
var isEmpty = true;
for(let i = 0; i< members.length; i++)
{
var member = members[i];
if(member && member[3]){
isEmpty = false;
break;
}
}
if(isEmpty) {
var somePrefix = "123 -"
for(let i = 0; i< members.length; i++)
{
var member = members[i];
if(member && member[2]){
member[3] = somePrefix + i;
}
}
}
console.log(member[1][3]) // just testing
这是一个输入错误,我在测试时使用的是成员而不是成员 变了,
for (let i = 0; i <= members.length; i++) {
var member = members[i];
if (member && member[3]) {
isEmpty = false;
break;
}
}
变成
首先是
成员和成员[3]
,在第二个循环中是成员和成员[2]
。这是设计的吗?可能有一个项目,[3]
和[2]
都是空的,然后你就不会写任何东西了。你也在循环<代码>我能告诉我们<代码>成员吗<代码>请?@AdrianoRepetti是的,这是设计的不幸…,因为第二次修订,但oyt是相同的,在调试中,一步一步地,突出显示任何奇怪的东西(=它执行所有你认为应该执行的事情)?谢谢你们的时间,测试时碰巧出现了一个键入错误,这似乎是故意的:“…如果有任何属性已填充,请保持原样。”以及“…所有成员的属性均为空。”。还要注意,使用break
退出循环或像您的示例中那样保持循环具有完全相同的效果。
console.log(member[1][3])
console.log(members[1][3])