私はこの質問が愚かに聞こえることを知っていますが、私はそれが私が望むことを可能にする方法を知らない。ここで 定義される前にオブジェクトプロパティにアクセスする方法はありますか?
は私のコードです:私はrandomSecondaryNation ===(オブジェクトを比較どこfunction createPerson() {
var x1 = Math.floor(Math.random()*101); // Random number picker
var personObject = {
primaryNation: primNation(),
secondaryNation: secNation(),
};
function createRandomNation() { //Random nation picker
var nations = ["Germany", "USA", "France"];
var randomNation = nations[Math.floor(Math.random() * nations.length)];
return randomNation;
}
function primNation(){
var randomPrimaryNation = createRandomNation();
return randomPrimaryNation;
}
function secNation() {
var randomSecondaryNation = [];
if (x1 >= "10") {
randomSecondaryNation = createRandomNation();
if (randomSecondaryNation === personObject.primNation){ //// <---There is the problem
randomSecondaryNation = false;
}
}
else {
randomSecondaryNation = false;
}
return randomSecondaryNation;
}
console.log(personObject);
}
問題があるが、それは定義された「完成」されていません
が別々作成するための唯一の方法です。オブジェクトと一緒にそれらを割り当てるか、またはこれを行うには賢く/より高速な方法はありますか?
ありがとう!ここ
? – epascarello
あなたがしようとしていることは意味をなさない。無作為に生成された第二次国家と、まだ存在しない第二次世代国家とを比較しています。また、x1が数値で、 "10"が文字列であるときに、 'x1> =" 10 "ならば比較します。また、 'randomSecondaryNation'は配列として始まり、次に' createRandomNation() '戻り値の文字列になり、if/else条件では' false'に設定します。なぜその変数は配列、文字列、ブール値ですか?あなたは正確に何をしようとしていますか?あなたの試行された解決策ではなく、問題に対処しましょう。 – mhodges
@epascarelloしかし、この関数を一度呼び出すと、これらの2つの異なるプロパティをどのように書くことができますか? – Andy