从 javascript 中的字符串中删除“null”
2018-10-19
5036
我有此代码:
var returnValue = item.fname + " " + item.mname + " " + item.lname
returnValue.replace(null," ");
return returnValue ;
有时其中一个字段为空,因此
returnValue
为:
“John null Doe”
或
“John something null”
我想摆脱
“null”
,但我的代码似乎不起作用。
有人可以帮我吗?
3个回答
不要事后替换 null,而只需在它们不为 null 时附加单个名称即可。
var returnValue = "";
if (item.fname !== null) {
returnValue += item.fname + " ";
}
if (item.mname !== null) {
returnValue += item.mname + " ";
}
if (item.lname !== null) {
returnValue += item.lname;
}
return returnValue;
或者,使用
Array.prototype.filter
删除 null:
// store the names in an array
var names = [ item.fname, item.mname, item.lname ];
// filter the array to values where they are `!== null`
var notNullNames = names.filter(x => x !== null);
// join them with spaces
var returnValue = notNullNames.join(" ");
James Monger
2018-10-19
var returnValue = (item.fname || " ") + " " + (item.mname || " ") + " " + (item.lname || " ");
return returnValue;
混合 var 类型时要小心(例如字符串和 null)。最好确保变量已设置或有后备。
Matthi
2018-10-19
我向您推荐另一种技术:将字符串部分放入数组中,对其进行过滤并连接:
[item.fname, item.mname, item.lname].filter(v => !!v).join(' ')
Eugene Tsakh
2018-10-19