![](/img/trans.png)
[英]How to get details such as score, correct answer from package running with tincan?
[英]How to get correct answer
我有這個例子,我如何讓它顯示正確的答案。 如果每個人都在線,那么全局狀態就是在線。 如果有人離開,全球地位就消失了。 如果每個人都離線 -> 離線。
var group, part1, part2, part3;
group = 'Group Status';
part1 = 'online';
part2 = 'away';
part3 = 'offline';
if( part1 === 'online' || part2 === 'online' || part3 === 'online' ){
group = 'Online';
console.log('All users are online. Group status: ' + group);
}else if( part1 === 'away' || part2 === 'away' || part3 === 'away' ){
group = 'Away';
console.log('One of the users is away. Group status: ' + group);
}else if( part1 === 'offline' || part2 === 'offline' || part3 === 'offline' ){
group = 'Offline';
console.log('One of the users is offline. Group status: ' + group);
}else{
group = 'Not found';
console.log('Status not found. Group status: ' + group);
}
答:此代碼的優先級為在線>離開>離線。
我更換了它,它按我的意願工作:離線 > 離開 > 在線。
var group, part1, part2, part3;
group = 'Group Status';
part1 = 'online';
part2 = 'away';
part3 = 'away';
if( part1 === 'offline' || part2 === 'offline' || part3 === 'offline' ){
group = 'Offline';
console.log('One of the users is offline. Group status: ' + group);
}else if( part1 === 'away' || part2 === 'away' || part3 === 'away' ){
group = 'Away';
console.log('One of the users is away. Group status: ' + group);
}else if( part1 === 'online' || part2 === 'online' || part3 === 'online' ){
group = 'Online';
console.log('All users are online. Group status: ' + group);
}else{
group = 'Not found';
console.log('Status not found. Group status: ' + group);
}
這是我認為你想要做的: http : //es6fiddle.net/itfgy2xt/
它有助於為您的組部分使用數組,因此您可以使用數組方法,即Array.prototype.every
和Array.prototype.indexOf
。 請注意, every
都是 IE9+。
every
返回true
僅當對於每個元素的函數返回true
,和indexOf
返回元素的索引陣列中或-1
,如果該元素不能被發現。
var groupStatus = 'Group Status',
parts = [];
parts[0] = 'online';
parts[1] = 'away';
parts[2] = 'offline';
// check if everyone is online
if (parts.every(function (el) { return el === 'online'; })) {
groupStatus = 'Online';
}
// check if at least someone is online or away
else if (parts.indexOf('online') >= 0 || parts.indexOf('away') >= 0) {
groupStatus = 'away';
}
else {
groupStatus = 'offline';
}
console.log('Group status: ' + groupStatus);
您可以將所有部分移動到一個數組中,並使用Array#some
和Array#every
檢查所需狀態。
var group = 'Group Status', parts = ['online', 'away', 'offline']; if (parts.some(function (a) { return a === 'offline'; })) { group = 'Offline'; console.log('One of the users is offline. Group status: ' + group); } else if (parts.some(function (a) { return a === 'away'; })) { group = 'Away'; console.log('One of the users is away. Group status: ' + group); } else if (parts.every(function (a) { return a === 'online'; })) { group = 'Online'; console.log('All users are online. Group status: ' + group); } else { group = 'Not found'; console.log('Status not found. Group status: ' + group); }
ES6
var group = 'Group Status', parts = ['online', 'away', 'offline'], check = string => item => item === string; if (parts.some(check('offline'))) { group = 'Offline'; console.log('One of the users is offline. Group status: ' + group); } else if (parts.some(check('away'))) { group = 'Away'; console.log('One of the users is away. Group status: ' + group); } else if (parts.every(check('online'))) { group = 'Online'; console.log('All users are online. Group status: ' + group); } else { group = 'Not found'; console.log('Status not found. Group status: ' + group); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.