Получение записей из массива в Node JS - PullRequest
1 голос
/ 11 марта 2019

Как я могу заставить эту работу работать?

Я пытаюсь получить запись, передавая аргумент функции.

В файле findentry.js у меня есть следующий код:

var elements = [{"ID": "A1", "XX": "A2", "KK": "A3"}, {"ID": "B1", "XX": "B2", "KK": "B3"}];


function getEntry (err, cb) {
    if (err) {
        return cb(err);
    }
    // console.log(elements[0]);
    function getElement(c, g) {
        return c.ID === g;
    }
    entry = (elements.find(getElement));
    cb(null, entry);
}

module.exports = getEntry;

В server.js я делаю следующее:

var entry = require('./findentry.js');
var el = "B1";
entry(function (err, el) {
    console.log(err, el)
});

1 Ответ

1 голос
/ 11 марта 2019

Передайте дополнительный параметр в getEntry, который указывает идентификатор, который вы пытаетесь найти.

var elements = [{
  "ID": "A1",
  "XX": "A2",
  "KK": "A3"
}, {
  "ID": "B1",
  "XX": "B2",
  "KK": "B3"
}];


function getEntry(cb, idToFind) {
  try {
    const entry = elements.find(({ ID }) => ID === idToFind);
    cb(null, entry);
  } catch(err) {
    cb(err);
  }
}


var idToFind = "B1";
getEntry(function(err, el) {
  console.log(err, el)
}, idToFind);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...