不要从JavaScript对象的值中呈现null

问题描述 投票:8回答:4

我正在寻找最有效的方法输出empty string而不是"null"null值。有没有条件语句(即if或三元(? :)运算符)这样做的方法。

代码示例如下:

$.each(data, function(index, item) {
  return $("div#SearchResults").append(item.PhoneNumber);
}

item.PhoneNumber is null,页面在SearchResults div中呈现字符串“null”时,我想要为空。

javascript jquery html
4个回答
20
投票
$.each(data, function(index, item) {
  return $("div#SearchResults").append(item.PhoneNumber || "");
}

使用$.trim(意外地将nullundefined转换为空字符串):

$.each(data, function(index, item) {
  return $("div#SearchResults").append($.trim(item.PhoneNumber));
}

出乎意料,因为它既不直观又无证。


7
投票

如果你真的决定不使用if或三元来评估变量,那么就有可能使用||运算符:

$.each(data, function(index, item) {
  return $("div#SearchResults").append(item.PhoneNumber || '');
}

但是,老实说,只需使用条件运算符,它就是它们的意图,并有助于在脚本的执行和输出中强制执行一定量的安全性。


1
投票

试试这个,

$.each(data, function(index, item) {
  return $("div#SearchResults").append(item.PhoneNumber?item.PhoneNumber:"");
}

0
投票

没有JQuery:

$.each(data, function(index, item) {
  return $("div#SearchResults").append([item.PhoneNumber].join(''));
}
© www.soinside.com 2019 - 2024. All rights reserved.