0

私は次の配列を持っています:

var jobs = [
  { ID: 'grt34hggf', Title: 'tobi', Location: 'Los Angeles, CA', Description: "bla-bla-bla", DateExpiration: "FFF" },
  { ID: 'vbnhty', Title: 'n', Location: 'Los Angeles, CA', Description: "bla-bla-bla", DateExpiration: "FFF" },
  { ID: 'bnm7ii78', Title: 'bnui', Location: 'Los Angeles, CA', Description: "bla-bla-bla", DateExpiration: "FFF" }
];

次に、この配列から1つの要素を取得しようとします。次のコードは機能しません。

app.get('/job/:id', function (req, res) {
    res.render('job', {
        job: jobs.filter(function(x) { return x.ID == 'bnm7ii78'; }),
        title: "Job Descr",
        header: "descr"
    });
});

ただし、次のコードは機能します。

app.get('/job/:id', function (req, res) {
    res.render('job', {
        job : jobs[0],
        title: "Job Descr",
        header: "descr"
    });
});

なぜ?

4

1 に答える 1

1

オブジェクトを期待しているように見えますが、条件に一致するすべての要素の配列jobs.filter(...)を返します。試すことができます。jobs.filter(...)[0]

于 2013-01-15T00:32:40.137 に答える