我该如何进行这项工作?

我试图通过将参数传递给函数来获取条目。

在文件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)
});

最佳答案

将附加参数传递给getEntry,该参数指示您要查找的ID。



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);

10-06 05:47
查看更多