我想知道是否有办法提高这个函数的优雅:
function findById(id) {
var items = [
{ Id: 1, Value: 'My value 1' },
{ Id: 2, Value: 'My value 2' }
];
var result = $.grep(items, function (obj) { return obj.Id === id; });
return result.length > 0 ? result[0] : null;
}
特别是,我宁愿它看起来像这样:
function findById(id) {
var items = [
{ Id: 1, Value: 'My value 1' },
{ Id: 2, Value: 'My value 2' }
];
return $.grep(items, function (obj) { return obj.Id === id; })[0] || null;
}
这显然是一大堆失败,但想法是也许有一种更清洁的方法来编写函数。没什么大不了的,但我想我会写下来以防我遗漏了什么。
[编辑] 正如所指出的,理想的代码工作得很好。我错误地认为访问空数组的第一个元素会引发错误,而是返回未定义。谢谢大家!