0

さまざまな言語(true、false、verdadero、falso、ratt、felなど)のブール値に属する新しいブール値のリストをjavascriptで作成しました

私はそうしました:

var false_swedish = new Boolean("fel");

他の多くの人と同じように。

私は小さなテキストゲームを一種のパズルとしてコーディングしようとしているので(私は非常に初心者です)、ここで立ち往生しています。今の私の目標は次のとおりです。10個の新しいブール値のリストがあるので、それらを文字列(ユーザーがを使用して書き込んだものprompt)とどのように比較できますか?

私は最初にすべての新しい単語で配列を作成し、次にそれらを文字列と比較することを考えていましたが、それはそれらを新しいブール値として宣言し、ユーザー入力がブール値であるかどうかを調べるという点を打ち負かします、そしてここではあまり興味がありません最終結果ですが、それを実行する過程でさらに多くのことが行われます(私が言ったように、これは学ぶための練習にすぎません)

基本的に以下を使用して、変数がブール値であるかどうかをチェックする関数を作成するところまで到達しました。

if (value.constructor == Boolean ){
    return true;

method次に、その関数を使用して、。を使用してStringにnewを追加します。prototypeこれにより、。によって提供される文字列と照合できますprompt。しかしもちろん、変数がブール値である可能性があり、そうではないことを前提としているため、この関数は役に立ちません。それらは常に文字列です...

私はそれを複雑にしすぎていますか?

アイデアをありがとう

4

1 に答える 1

0

はい、あなたはそれを複雑にしすぎています。

new Boolean("any string")空でない文字列を使用すると、結果の変数がtrueになるため、は役に立ちません。'trueユーザーが入力したかどうかを確認することが目標である場合'false'、最善の解決策は、ユーザーの入力をと比較すること'true'です。ただし、可能な入力がたくさんある場合は、オブジェクトを使用できます。

// this object contains every string value you want to include in your script defined by a number
var predefinedValues = {'true': 1, 'false': 0, 'verdadero':1, 'falso':0};
// i assume userInput contains user input
if(predefinedValues[userInput] == 1) {
    //true
}
else {
    //false or not found in array
}
于 2012-10-31T23:28:11.693 に答える