JavaScript:搜索数组并在用户输入后返回值

时间:2017-11-30 22:21:46

标签: javascript node.js

var data = [{
  id: 'A1',
  name: 'Minstrels'
}, {
  id: 'A2',
  name: 'Bounty'
}, {
  id: 3,
  name: 'Crunchie'
}, {
  id: 4,
  name: 'bar'
}];

var rl = require('readline')

var prompts = rl.createInterface(process.stdin, process.stdout);

prompts.question('Which Product do you want to purchase? ',
  function(Answer1) {
    //missing code goes here in order to return Minstrels if the user 
    //types 'A1' etc..
  }
)

我的代码需要帮助。我已经启用了用户输入并创建了一个数组,但是,我无法想到我的代码丢失了。

1 个答案:

答案 0 :(得分:0)

这使用find()数组方法来定位与给定谓词匹配的第一个元素,然后另外处理项目未找到的情况。由于您的示例使用id值的字符串和数字,因此我们在比较期间明确地将每个对象id强制转换为字符串,以简化严格比较:

var item = data.find(i => ("" + i.id) === Answer1);

console.log(item ? item.name : 'No such food');