我的代码中存在问题:
var row = ["1","2","3","4","5"];
var column = ["1","2","3","4","5"];
var arrayLength = row.length;
var arrayLength2 = column.length;
for (var i = 0; i < arrayLength; i++) {
for (var e = 0; e < arrayLength2; e++) {
var samples = document.querySelectorAll('[data-row-id="'+row[i]+'"][data-column-id="'+column[e]+'"]');
for(var i = 0; i < samples.length; i++) {
var sample = samples[i];
sample.setAttribute('data-sample-id', row);
console.log("Colore cambiato");
}
}
}
当我运行它时,循环持续无限,并且console.log被多次调用
错误在哪里?谢谢!
答案 0 :(得分:3)
问题在于,你的最内层循环使用与最外层循环相同的i
循环变量,并且它不断更改i
,以便外循环永远不会完成。
将内循环上的变量更改为您尚未在同一范围内使用的其他标识符。
答案 1 :(得分:1)
您使用相同的循环i
两次嵌套,因此它无限运行,因为它总是在内循环中重置i
使用其他内容而不是k
for(var k = 0; k < samples.length; k++) {
var sample = samples[k];
sample.setAttribute('data-sample-id', row);
console.log("Colore cambiato");
}