how to remove null values from an array using jquery
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Remove empty elements from an array in Javascript
我想从使用
1 2 3 4 5 | var clientName= new Array(); clientName[0] ="jack"; clientName[1] =""; clientName[2] ="john"; clientName[2] ="peter"; |
请给出一些建议。
使用jquery grep函数,它将标识通过定义的条件的数组元素
1 2 3 | arr = jQuery.grep(arr, function(n, i){ return (n !=="" && n != null); }); |
jquery不需要,使用普通的javascript(更快!):
1 2 3 4 5 6 7 | var newArray = []; for (var i = 0; i < clientname.length; i++) { if (clientname[i] !=="" && clientname[i] !== null) { newArray.push(clientname[i]); } } console.log(newArray); |
现代浏览器的另一个简单解决方案(使用数组
1 2 3 | clientname.filter(function(value) { return value !=="" && value !== null; }); |
我们认为,由于jquery的
1 2 3 | var new_array = $.map(old_array, function (el) { return el !== '' ? el : null; }); |
您仍然需要检查空字符串,但实际上不必再检查空字符串和未定义字符串,这样逻辑就不那么复杂了。
使用以下代码:
1 2 3 4 5 6 7 | var newarr=[]; for(var i=0; i<len(clientname);i++){ if(clientname[i] !=="" && clientname[i] !== null){ newarr.push(clientname[i]); } } |
试试这个:
1 2 3 4 | $.each(clientname, function(key, value) { if (value === 'undefined' || value === '') clientname.splice(key,1); }); |