簡體   English   中英

如何在if-else語句中考慮4個變量

[英]How to consider 4 vars in an if-else statement

我有一個名為Alex John Billy和Bob的4個變量的代碼。 我創建了一個if-else語句,現在我只希望如果var的this.age值中的任何一個在14以下找到,則if語句執行,如果所有var都超過14,則else語句

但是現在只執行else語句,並且我假設它是因為2/4變量的this.age值超過14。我的問題是我究竟如何才能考慮所有變量

function person(name, age){
    this.name = name;
    this.age = age;
}

var Alex = new person("Alex", 15);
var John = new person("John", 16);
var Billy = new person("Billy", 13);
var Bob = new person("Bob", 11);

if(this.age < 14){
    document.write("oops!");
}
else{
    document.write("yay!");
}

您可以將對象添加到數組,然后使用Array.prototype.some()檢查所包含的對象中至少一個的年齡是否小於14。

 function person(name, age){ this.name = name; this.age = age; } persons = []; persons.push(new person("Alex", 15)); persons.push(new person("John", 16)); persons.push(new person("Billy", 13)); persons.push(new person("Bob", 11)); if(persons.some(p => p.age < 14)){ document.write("oops!"); } else{ document.write("yay!"); } 

您可以將您的person對象推入另一個對象,我稱之為persons 然后,您可以使用for of循環遍歷所有條目。

您可以使用Object.keys()來獲取所有鍵的數組,在這種情況下可以是人員對象。

 function person(name, age) { this.name = name; this.age = age; } const persons = {}; persons.Alex = new person("Alex", 15); persons.John = new person("John", 16); persons.Billy = new person("Billy", 13); persons.Bob = new person("Bob", 11); for (let pers of Object.keys(persons)) { if (persons[pers].age < 14) { console.log(persons[pers].name+": oops!"); } else { console.log(persons[pers].name+": yay!"); } } 

編輯:

當發生這種情況時,您只希望所有對象都有一個結果,這將稍微改變我們的代碼。

現在最好push()所有對象再次push()稱為” persons數組中,然后可以使用every()對照函數檢查每個object 如果所有值都通過,您將得到TRUE但是如果一個或多個失敗,您將得到FALSE

 function person(name, age) { this.name = name; this.age = age; } const persons = []; persons.push(new person("Alex", 15)); persons.push(new person("John", 16)); persons.push(new person("Billy", 13)); persons.push(new person("Bob", 11)); if (persons.every(p => { p.age > 14 })) { console.log('Yay!') } else { console.log('oops!') } 

保留對象:

如果您以后想保留該對象以便於使用,我們可以使用map()制作所有年齡段的數組

 function person(name, age) { this.name = name; this.age = age; } const persons = {}; persons.Alex = new person("Alex", 15); persons.John = new person("John", 16); persons.Billy = new person("Billy", 13); persons.Bob = new person("Bob", 11); if (!Object.keys(persons).map(k => { return persons[k].age }).some(e => e < 14)) { console.log('Yay!'); } else { console.log('oops!'); } 

為4person創建數組,並使用.map()來檢查它們,就像下面的示例

 function person(name, age) { this.name = name; this.age = age; } var Alex = new person("Alex", 15); var John = new person("John", 16); var Billy = new person("Billy", 13); var Bob = new person("Bob", 11); var persons = [Alex, John, Billy, Bob]; persons.map(prrson => { if (prrson.age < 14) { console.log("oops!"); } else { console.log("yay!"); } }); 

您有多種可能,因此您需要在檢查之后創建一個數組。

 function person(name, age) { this.name = name; this.age = age; } var Alex = new person("Alex", 15); var John = new person("John", 16); var Billy = new person("Billy", 13); var Bob = new person("Bob", 11); var ages = [Alex.age, John.age, Billy.age, Bob.age]; for (i = 0; i < ages.length; i++) { if (ages[i] < 14) { document.write("oops!"); } else { document.write("yay!"); } } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM