2017-11-30 17 views
0
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.. 
    } 
) 

私のコードで助けが必要です。ユーザーの入力を有効にして配列を作成しましたが、私のコードが何もないと考えることはできません。JavaScript:配列を検索し、ユーザー入力後に値を返す

+0

「食品:」はそこには存在しないはずでした –

+0

https://stackoverflow.com/questions/20195958/how-to-find-object-in-array-by-property-in-javascriptを参照してください – Barmar

答えて

0

これは、find()配列メソッドを使用して、指定された述語に一致する最初の要素を探し出し、その項目が見つからない場合を追加で処理します。あなたの例では、id値のために、文字列と数字の両方を使用しているため、我々は明示的に比較時に各オブジェクトのid文字列には、厳密な比較を簡単にするために強制:

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

console.log(item ? item.name : 'No such food'); 
こんにちは、あなたの応答のためのおかげで、そう私はに間違ったコードを貼り付け
関連する問題