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
输出:
未定义
这是正在发生的事情,
答案 0 :(得分:0)
您在第一个for
循环中犯了一个错误:
for (let i = 0; i <= members.length; i++) {
var member = members[i];
if (member && member[3]) {
isEmpty = false;
break;
}
}
这不会检查所有成员的X
属性是否为空。一旦找到exists
和has value X
的成员,loop
就会中断,并且其余代码将不会执行任何操作,因为isEmpty
是false
。
代码应这样写:-
const members = [[1,2,3],[1,2,3,4]];
let isEmpty = true;
for(let i =0; i<members.length; i++) {
let member = members[i]
if (member && member[3]) {
isEmpty = false
}
}
if(!isEmpty) {
let someprefix = "123 - "
for(let i =0; i<members.length; i++){
var member = members[i]
if (member && member[2]) {
member[3] = someprefix + i;
}
}
}
console.log(members[0][3])
答案 1 :(得分:0)
这是一个错字,我在测试时使用的是会员而不是会员...
已更改
console.log(member[1][3])
进入
console.log(members[1][3])