У меня есть таблица, где я извлекаю данные и добавляю их в массив массивов. Проблемы в том, что если одна из ячеек таблицы пуста, она появляется в массиве как «неопределенная». Я попытался использовать if, если последний элемент не определен, если так использовать .pop(), элемент должен быть удален. Я все еще получаю неопределенные элементы. Вот мой код и жить demoУдалить undefined элементы из массива
HTML:
<table id="contactlisttable">
<tr>
<th>Name</th>
<th>Title</th>
<th>Phone</th>
</tr>
<tr>
<td class="contactlist contactlistlastfirst">Joey</td>
<td class="contactlist contactlisttitle">webdesigner</td>
<td class="contactlist contactlistphone"></td>
</tr>
<tr>
<td class="contactlist contactlistlastfirst">Anthony</td>
<td class="contactlist contactlisttitle">webdesigner</td>
<td class="contactlist contactlistphone">5555555</td>
</tr>
</table>
JavaScript:
//IE9+ compatable solution
$(function(){
var results = [], row;
$('#contactlisttable').find('th, td').each(function(){
if(!this.previousElementSibling){ //New Row?
row = [];
results.push(row);
if($(this) === 'undefined'){//Remove undefined elements
row.pop();
}
}
row.push(this.textContent || this.innerText); //Add the values (textContent is standard while innerText is not)
});
console.log(results);
});
Что бы вы хотели поехать в массиве поле не определено? – Jivings
Это также устранит «разреженный» аспект массива. Почему бы просто не использовать объект в этот момент? –