为什么Lodash _.find方法返回undefined?

时间:2016-10-23 17:18:28

标签: javascript node.js lodash

我有一个集合并使用Lodash _.find方法,我希望返回标题匹配的对象"开发"。

所以我有以下代码,我希望能够返回我想要的代码:

// Define rooms
var rooms = [
  { title: 'Just For Fun', created: '2016-10-23T16:57:03.288Z', id: 2 },
  { title: 'Development', created: '2016-10-23T16:57:03.294Z', id: 6 }
];
// Load lodash module
var _ = require('lodash');
// Expected object for development?
console.log(_.find(rooms, {'id': 6}));

然而,我在控制台中得到的只是undefineddocumentation有以下示例:

var users = [
  { 'user': 'barney',  'age': 36, 'active': true },
  { 'user': 'fred',    'age': 40, 'active': false },
  { 'user': 'pebbles', 'age': 1,  'active': true }
];
// The `_.matches` iteratee shorthand.
_.find(users, { 'age': 1, 'active': true });
// => object for 'pebbles'

所以他们得到pebbles但我得undefined?任何人都可以在这里指出我的错误吗?提前谢谢!

我正在使用Node。

1 个答案:

答案 0 :(得分:2)

它正在发挥作用。 console.log可能让您感到困惑:

var rooms = [
  { title: 'Just For Fun', created: '2016-10-23T16:57:03.288Z', id: 2 },
  { title: 'Development', created: '2016-10-23T16:57:03.294Z', id: 6 }
];
var room = _.find(rooms, {'id': 6});
console.log(room); // Object {title: "Development", created: "2016-10-23T16:57:03.294Z", id: 6}