Не работает функция проверки html таблицы на уникальность
Необходимо написать функцию, которая выводит true, если значения value нет в таблице. Если же в таблице уже имеется значение, равное value, то функция возвращает false.
function search(value, num_tab){ //num_tab - номер столбца
table=document.getElementById("converter-table");
for (i=1; i<table.rows.length; i++){
if (Number(table.rows[i].cells[num_tab].value)==value){
return false;
}
}
return true;
}
Id таблицы в html-"converter-table". Функция всегда возвращает true. В чём может быть ошибка?
Ответы (1 шт):
Автор решения: Admin Console
→ Ссылка
- Проверяем наличие таблицы и выбрасываем ошибку, если она не существует.
2. Проверяем индекс столбца и выбрасываем ошибку, если он некорректный.
3. Получаем значение ячейки с помощью textContent вместо value.
4. Используем строгое сравнение ===.
5. Добавляем обработку ошибок.
function search(value, num_tab) {
var table = document.getElementById("converter-table");
if (!table) {
throw new Error("Table not found");
}
for (var i = 1; i < table.rows.length; i++) {
var row = table.rows[i];
if (num_tab >= row.cells.length) {
throw new Error("Invalid column index");
}
var cell_value = Number(row.cells[num_tab].textContent);
if (cell_value === value) {
return false;
}
}
return true;
}