从数组中删除未定义的元素

用户名

我有一个表,在其中提取数据并将其添加到数组数组中。问题是,如果表单元格之一为空,则它在数组中显示为“ undefined”。我尝试使用if如果最后一个元素未定义,如果使用.pop()则应删除该元素。我仍然得到未定义的元素。这是我的代码和现场演示

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); 
}); 

特拉维斯J

jsFiddle Demo

无需执行条件语句,只需利用html结构即可。首先按表行选择,然后迭代子项tdth元素。您还可以利用jQuery的优势text来进行功能检测。jQuery的文本将更加可靠。

var results = [];
$('#contactlisttable tr').each(function(){
 var row = [];
 $(this).find('td,th').each(function(){
     row.push($(this).text());
 });
 results.push(row);
});
console.log(results);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从数组中删除未定义的元素

来自分类Dev

结构数组中的未定义元素

来自分类Dev

从数组中删除未定义的值

来自分类Dev

使用 map() 和 filter() 从嵌套数组映射的新数组中删除未定义的元素

来自分类Dev

删除数组中的所有元素 - 函数在数组末尾附加“未定义”

来自分类Dev

从数组中删除元素后迭代数组时发生未定义的偏移量错误

来自分类Dev

从数组中删除元素后迭代数组时发生未定义的偏移量错误

来自分类Dev

检查数组中未定义元素的最佳方法

来自分类Dev

检查数组元素是否在XSUB中未定义

来自分类Dev

检查数组中未定义元素的最佳方法

来自分类Dev

返回未定义数组中随机元素的递归函数

来自分类Dev

Javascript数组元素返回未定义

来自分类Dev

JavaScript数组元素未定义

来自分类Dev

数组元素的未定义值

来自分类Dev

数组元素未定义 Javascript

来自分类Dev

未定义:未删除javascript数组

来自分类Dev

.Filter()删除未定义的数组

来自分类Dev

数组删除、“未定义”和 JavaScript

来自分类Dev

从类型中删除未定义

来自分类Dev

PHP数组中的未定义索引

来自分类Dev

函数中的Javascript未定义数组

来自分类Dev

C中未定义长度的数组

来自分类Dev

在Javascript数组中未定义arr

来自分类Dev

函数中未定义的数组变量

来自分类Dev

翡翠中数组的长度未定义

来自分类Dev

C中未定义大小的数组

来自分类Dev

数组中存储的值未定义

来自分类Dev

数组中的图像对象未定义

来自分类Dev

PHP函数中的数组未定义