У меня есть два массива ...
var arr3 = [];
$('td:nth-child(2)').each(function() {
arr3.push($(this).text());
});
//console.log(arr3);
var arr4 = [];
$('td:nth-child(6)').each(function() {
arr4.push($(this).text());
});
//console.log(arr4);
Они собирают некоторые данные, которые я хочу в диаграмме.Моя цель - сравнить два массива, чтобы увидеть, больше ли значение в arr3 или равно значению в arr4 для каждой данной позиции.
Вчера все работало, но сегодня вечером я изменил данныенемного, и теперь он говорит, что что-то правда, что не так.
arr3 = ["0", "0", "30"]
arr4 = ["150", "150", "140"]
Итак, 0 < 150
, 0 < 150
и это должно быть 30 < 140
, но вместо этого мой цикл говорит 30 >= 140
.
Вот мой цикл:
for (var i = 0; i < arr3.length; i++) {
if (arr3[i] >= arr4[i]) {
console.log(arr3[i] + " is >= " + arr4[i]);
var bearned2 = $('.g2bonus')[i];
$(bearned2).append(' ✔');
} else {
console.log(arr3[i] + " is < " + arr4[i]);
}
}
Я пытался исследовать это и узнал об ошибках замыкания, но я не мог этого понять и не смог правильно исправить ситуацию.Я пробовал этот цикл, но он сообщает только о первом сравнении, а не о двух других:
for (var i = 0; i < arr3.length; arr3++) {
(function(index) {
if (arr3[i] >= arr4[i]) {
console.log(arr3[i] + " is >= " + arr4[i]);
var bearned2 = $('.g2bonus')[i];
$(bearned2).append(' ✔');
} else {
console.log(arr3[i] + " is < " + arr4[i]);
}
})(i);
}
Любая помощь по этому поводу?Спасибо.