10

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

代码示例如下:

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

什么时候item.PhoneNumber is null,页面在里面呈现一个字符串“ nullSearchResults div,而不是我想是的。

4

4 回答 4

23
$.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));
}

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

于 2012-07-09T10:19:56.723 回答
8

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

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

但是,老实说,只需使用条件运算符,这就是它们的用途,并有助于在脚本的执行和输出中实施一定程度的安全性。

于 2012-07-09T10:20:13.553 回答
1

试试这个,

$.each(data, function(index, item) {
  return $("div#SearchResults").append(item.PhoneNumber?item.PhoneNumber:"");
}
于 2012-07-09T10:18:56.907 回答
-1

没有 JQuery:

$.each(data, function(index, item) {
  return $("div#SearchResults").append([item.PhoneNumber].join(''));
}
于 2018-03-02T07:05:07.013 回答