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

时间:2012-07-09 10:17:08

标签: javascript jquery html

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

代码示例如下:

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

item.PhoneNumber is null时,页面会在SearchResults div内使用字符串“ null ”呈现,而我希望为空

4 个答案:

答案 0 :(得分: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));
}

意外,因为它既不直观又无法记录。

答案 1 :(得分:7)

如果您确实决定不使用if或三元来评估变量,则可以使用||运算符:

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

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

答案 2 :(得分:1)

试试这个,

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

答案 3 :(得分:0)

没有JQuery:

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