我有一个表格,我希望能够根据用户输入的过滤字符串过滤显示的内容。我遇到的一个问题是字段可能为null,因此我的过滤器不起作用。
var quoteNameFilter = function () {
return function (quotes, filterValue) {
if (!filterValue) return quotes;
var matches = [];
filterValue = filterValue.toLowerCase();
for (var i = 0; i < quotes.length; i++) {
var quote = quotes[i];
if (quote.rfq.toLowerCase().indexOf(filterValue) > -1 ||
quote.comments.toLowerCase().indexOf(filterValue) > -1 ||
quote.priority.name.toLowerCase().indexOf(filterValue) > -1 ||
quote.customer.customerName.toLowerCase().indexOf(filterValue) > -1 ||
quote.status.name.toLowerCase().indexOf(filterValue) > -1) {
matches.push(quote);
}
}
return matches;
};
};
quote.comments可能为null,那么如何检查此例程中的值是否为空?
答案 0 :(得分:2)
使用quote.comments
运算符确保true
为&&
值:
(quote.comments && quote.comments.toLowerCase().indexOf(filterValue) > -1) || ...