Javascript 查找固定键值对

Javascript 查找固定键值对,javascript,Javascript,我正在尝试编写一些函数,以便根据指定的城市查找区号。 两个问题。。。 1) 为什么我的else语句不起作用? 2) 如何检索与用户输入匹配的键的值 让区域代码={ 《旧金山》:102, 波特兰:200, 波士顿:10 } //提示用户输入并返回输出 函数userPrompt(列表){ var ans=prompt('您想按区号查找城市吗?(Y/N)'; if(ans='Y'){ 返回Object.key(列表); }否则{ 返回“您想做什么?”; } } //分析输入 函数输入分析(列表){

我正在尝试编写一些函数,以便根据指定的城市查找区号。 两个问题。。。 1) 为什么我的else语句不起作用? 2) 如何检索与用户输入匹配的键的值

让区域代码={
《旧金山》:102,
波特兰:200,
波士顿:10
}
//提示用户输入并返回输出
函数userPrompt(列表){
var ans=prompt('您想按区号查找城市吗?(Y/N)';
if(ans='Y'){
返回Object.key(列表);
}否则{
返回“您想做什么?”;
}
}
//分析输入
函数输入分析(列表){
var input=prompt('您要查找哪个城市?');
if(list.hasOwnProperty(输入)){
console.log(“+input+”的区号为:“+list.valueOf(input))
}

}
您的代码是正确的,只需从用户提示功能中删除一个错误即可

function userPrompt (list) {
    var ans = prompt('Would you like to look up a city by area code? (Y/N)');

    if (ans == 'Y') { // <--- Make it "==" to work.
        return Object.keys(list);
    }
    else 
    {
        return 'What would you like to do?'; 
    }
}
函数用户提示(列表){
var ans=prompt('您想按区号查找城市吗?(Y/N)';

if(ans=='Y'){//typo
if(ans=='Y'){
而不是
if(ans='Y'){
。如果使用赋值运算符,则条件无效
=
。如果列表等于区号,则应使用
==
会给你这个值。看起来不错,但是你真的需要else块吗?你可以直接返回(因为当ans为Y时它无论如何都会返回(所以你可以将它设为
如果(ans=='Y'){return Object.keys(list);}返回“你想做什么”;
谢谢:-)一个简单的问题…为什么list[输入]检索值?我以为list[input]最终会检索键。
function inputAnalysis(list) {
  var input = prompt('Which city would you like to look up?');

  if (list.hasOwnProperty(input)) {
    console.log('The area code for ' + input + ' is: ' + list[input]) // <--- to avoid [object object] error.
  }
}