首页 > 解决方案 > JavaScript 数组返回身份不明

问题描述

嗨我需要一些帮助我对编码很陌生我似乎无法让我的函数工作它一直返回未定义,任何提示将不胜感激。谢谢

var german = ["eins","zwei","drei","vier","fünf","sechs","sieben","acht","neun","zehn","elf","zwölf","dreizehn","vierzehn","fünfzehn","sechzehn","siebzehn","achtzehn","neunzehn","zwanzig","einundzwanzig","zweiundzwanzig","dreiundzwanzig","vierundzwanzig","fünfundzwanzig","sechsundzwanzig","siebenundzwanzig","achtundzwanzig","neunundzwanzig","dreiβig"];
var french = ["un","duex","trois","quatre","cinq","six","sept","huit","neuf","dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf","vingt","vingt et un","vingt-deux","vingt-trois","vingt-quatre","vingt-cinq","vingt-six","vingt-sept","vingt-huit","vingt-neuf","trente"];

var translatedNumber = translate();


var number = prompt("Please enter a number between 1-30 to be translated");
    if (number > 30 || number < 1) {
        alert("Please enter a number between 1-30")
        exit()
    }
    else if(isNaN(number)){
        alert("Please enter digits")
        exit()
    }


var language = prompt("Translated into what language? French/German");

    if (language == "german" || language == "french"){
    translate();
    } 
    else{
    alert("Only French or German is allowed")
    exit()
    }

function translate(number,language,translatedNumber,french,german){
    if(language == "german"){
        var translatedNumber = german[number - 1];
        }
    
    else if(language == "french"){
        var translatedNumber = french[number - 1];
        }
    return translatedNumber;
}

alert("The translation is " + translatedNumber);

标签: javascriptarraysfunction

解决方案


解决它:

(问题是您没有正确设置函数。我将 translate 函数变量更改为 lan 和 num 因为它们是您在函数中使用的唯一两个。而且我认为您不需要在顶部尚未使用,因为您尚未使用它)希望这会有所帮助:D。)

var german = ["eins","zwei","drei","vier","fünf","sechs","sieben","acht","neun","zehn","elf","zwölf","dreizehn","vierzehn","fünfzehn","sechzehn","siebzehn","achtzehn","neunzehn","zwanzig","einundzwanzig","zweiundzwanzig","dreiundzwanzig","vierundzwanzig","fünfundzwanzig","sechsundzwanzig","siebenundzwanzig","achtundzwanzig","neunundzwanzig","dreiβig"];
var french = ["un","duex","trois","quatre","cinq","six","sept","huit","neuf","dix","onze","douze","treize","quatorze","quinze","seize","dix-sept","dix-huit","dix-neuf","vingt","vingt et un","vingt-deux","vingt-trois","vingt-quatre","vingt-cinq","vingt-six","vingt-sept","vingt-huit","vingt-neuf","trente"];

var translatedNumber;


var number = prompt("Please enter a number between 1-30 to be translated");
    if (number > 30 || number < 1) {
        alert("Please enter a number between 1-30")
        exit()
    }
    else if(isNaN(number)){
        alert("Please enter digits")
        exit()
    }


var language = prompt("Translated into what language? French/German");

    if (language == "german" || language == "french"){
    translate(language, number);
    } 
    else{
    alert("Only French or German is allowed")
    exit()
    }

function translate(lan, num){
    if(lan == "german"){
        translatedNumber = german[num - 1];
        } else if(lan == "french"){
        translatedNumber = french[num - 1];
        }
    return translatedNumber;
}

alert("The translation is " + translatedNumber);

推荐阅读