我想使用null
jquery
或空元素
var clientName= new Array();
clientName[0] = "jack";
clientName[1] = "";
clientName[2] = "john";
clientName[2] = "peter";
请提出一些建议。
答案 0 :(得分:20)
使用jquery grep 函数,它将识别通过您定义的标准的数组元素
arr = jQuery.grep(arr, function(n, i){
return (n !== "" && n != null);
});
答案 1 :(得分:5)
jQuery中没有必要使用纯JavaScript(它更快!):
var newArray = [];
for (var i = 0; i < clientname.length; i++) {
if (clientname[i] !== "" && clientname[i] !== null) {
newArray.push(clientname[i]);
}
}
console.log(newArray);
现代浏览器的另一个简单解决方案(使用Array filter()
方法):
clientname.filter(function(value) {
return value !== "" && value !== null;
});
答案 2 :(得分:2)
正在考虑因为jQuery的.map()
函数依赖于返回而不是 null / undefined的东西,所以你可以使用以下内容:
var new_array = $.map(old_array, function (el) {
return el !== '' ? el : null;
});
你仍然需要检查空字符串,但是你真的不必再检查null和undefined,这样你的逻辑就不那么复杂了。
答案 3 :(得分:0)
答案 4 :(得分:-1)
试试这个:
$.each(clientname, function(key, value) {
if (value === 'undefined' || value === '')
clientname.splice(key,1);
});
答案 5 :(得分:-1)
使用以下代码:
var newarr=[];
for(var i=0; i<len(clientname);i++){
if(clientname[i] !== "" && clientname[i] !== null){
newarr.push(clientname[i]);
}
}