Javascript 如何使用双簧管迭代对象数组?

Javascript 如何使用双簧管迭代对象数组?,javascript,node.js,highland.js,oboe.js,Javascript,Node.js,Highland.js,Oboe.js,我有一个json响应,格式如下: [{ "id": 425055, "title": "Foo" }, { "id": 425038, "title": "Bar" }, { "id": 425015, "title": "Narf" }] 我使用obee.js创建高地流: const cruiseNidStream = _((push, next) => { oboe({ url: 'http://fake.com/bar/overvie

我有一个json响应,格式如下:

[{
  "id": 425055,
  "title": "Foo"
}, {
  "id": 425038,
  "title": "Bar"
}, {
  "id": 425015,
  "title": "Narf"
}]
我使用obee.js创建高地流:

const cruiseNidStream = _((push, next) => {
    oboe({
        url: 'http://fake.com/bar/overview,
        method: 'GET',
        headers: {
            'X-AUTH': 'some token',
        },
    }).node('.*', (overview) => {
        // I expect here to get an object having and id, title property
        push(null, overview.id);
    }).done((overview) => {
        push(null, _.nil);
    }).fail((reason) => {
        console.error(reason);
        push(null, _.nil);
    });
});
我的问题是,我不知道要使用什么模式来使用节点,以便它匹配该数组的每个元素。目前,我在当前设置中获得的项目是所有对象和属性:

425055
Foo
{ id: 227709, title: 'Foo' }
如果响应具有如下属性:

{
  'overview': [],
}

我本可以使用
.overview.*

Oboe.js支持duck类型:

.node('{id title}', (overview) => {
 }

请注意,我的json是平面的,所以这是可行的。嵌套json的结果可能会有所不同。

双簧管有两种匹配数据的方法,一种是通过路径,另一种是通过键入数据

通过鸭子打字 路旁 在路径示例中,请注意
字符。这是指树的根节点,此模式将只显示三个对象,而不显示它们自己的任何属性

我做了一个测试,您可以在控制台中查看这项工作,以及

oboe('/data.json')
  .node('{id title}', function(x) {
    console.log('from duck-typing', x)
  })
oboe('/data.json')
  .node('!.*', function(x) {
    console.log('from path matching', x)
  })
  //or also valid
  .node('!.[*]', function(x) {
    console.log('from path matching', x)
  })