[英]a lot of else if statements clean / shorten
I'm new to javascript and i have a few questions about my if and if else statement我是 javascript 新手,我对 if 和 if else 语句有一些疑问
Is it safe to do what i'm doing.做我正在做的事情是否安全。 . . Having so many if else statements inside a if statement? if 语句中有这么多 if else 语句?
Would there be a better way of doing this with out so many if else statements.如果没有这么多 if else 语句,是否有更好的方法来做到这一点。
What i have below is not even all if else statements i still go more to add but be for i finished it I was just thinking maybe there is a better way to do it?我在下面的内容甚至不是全部 if else 语句我仍然要添加更多但因为我完成了它我只是想也许有更好的方法来做到这一点?
var hats = {};
var pumpkinCap = false;
var bummleCap = false;
var strawCap = false;
var winterCap = false;
var cowboyCap = false;
var rangerCap = false;
var explorerCap = false;
var flipperCap = false;
var marksmanCap = false;
var bushCap = false;
var haloCap = false;
if (data[1] == 'points') {
if (data[2] > 50 && pumpkinCap == false) {
Object.assign(hats, {
"Pumpkin Hat": 57
});
pumpkinCap = true;
ws.send(encodeSEND(["13c", [1, 57, 0]]));
} else if (data[2] > 100 && bummleCap == false) {
Object.assign(hats, {
"Bummle Hat": 8
});
bummleCap = true;
ws.send(encodeSEND(["13c", [1, 8, 0]]));
} else if (data[2] > 600 && strawCap == false) {
Object.assign(hats, {
"Straw Cap": 2
});
strawCap = true;
ws.send(encodeSEND(["13c", [1, 2, 0]]));
} else if (data[2] > 600 && winterCap == false) {
Object.assign(hats, {
"Winter Cap": 15
});
winterCap = true;
ws.send(encodeSEND(["13c", [1, 15, 0]]));
} else if (data[2] > 1000 && cowboyCap == false) {
Object.assign(hats, {
"Cowboy Cap": 5
});
cowboyCap = true;
ws.send(encodeSEND(["13c", [1, 5, 0]]));
} else if (data[2] > 2000 && rangerCap == false) {
Object.assign(hats, {
"Ranger Cap": 4
});
rangerCap = true;
ws.send(encodeSEND(["13c", [1, 4, 0]]));
} else if (data[2] > 2000 && explorerCap == false) {
Object.assign(hats, {
"Explorer Cap": 18
});
explorerCap = true;
ws.send(encodeSEND(["13c", [1, 18, 0]]));
} else if (data[2] > 2500 && flipperCap == false) {
Object.assign(hats, {
"Flipper Cap": 31
});
flipperCap = true;
ws.send(encodeSEND(["13c", [1, 31, 0]]));
} else if (data[2] > 3000 && marksmanCap == false) {
Object.assign(hats, {
"Marksman Cap": 1
});
marksmanCap = true;
ws.send(encodeSEND(["13c", [1, 1, 0]]));
} else if (data[2] > 3000 && bushCap == false) {
Object.assign(hats, {
"Bush Cap": 10
});
bushCap = true;
ws.send(encodeSEND(["13c", [1, 10, 0]]));
console.log("Hat Buyed");
} else if (data[2] > 3000 && haloCap == false) {
Object.assign(hats, {
"Halo Cap": 48
});
haloCap = true;
ws.send(encodeSEND(["13c", [1, 48, 0]]));
}
}
I'm new to javascript and i have a few questions about my if and if else statement我是 javascript 新手,我对 if 和 if else 语句有一些疑问
Is it safe to do what i'm doing.做我正在做的事情是否安全。 . . Having so many if else statements inside a if statement? if 语句中有这么多 if else 语句?
Would there be a better way of doing this with out so many if else statements.如果没有这么多 if else 语句,是否有更好的方法来做到这一点。
What i have below is not even all if else statements i still go more to add but be for i finished it I was just thinking maybe there is a better way to do it?我在下面的内容甚至不是全部 if else 语句我仍然要添加更多但因为我完成了它我只是想也许有更好的方法来做到这一点?
var hats = {};
var pumpkinCap = false;
var bummleCap = false;
var strawCap = false;
var winterCap = false;
var cowboyCap = false;
var rangerCap = false;
var explorerCap = false;
var flipperCap = false;
var marksmanCap = false;
var bushCap = false;
var haloCap = false;
if (data[1] == 'points') {
if (data[2] > 50 && pumpkinCap == false) {
Object.assign(hats, {
"Pumpkin Hat": 57
});
pumpkinCap = true;
ws.send(encodeSEND(["13c", [1, 57, 0]]));
} else if (data[2] > 100 && bummleCap == false) {
Object.assign(hats, {
"Bummle Hat": 8
});
bummleCap = true;
ws.send(encodeSEND(["13c", [1, 8, 0]]));
} else if (data[2] > 600 && strawCap == false) {
Object.assign(hats, {
"Straw Cap": 2
});
strawCap = true;
ws.send(encodeSEND(["13c", [1, 2, 0]]));
} else if (data[2] > 600 && winterCap == false) {
Object.assign(hats, {
"Winter Cap": 15
});
winterCap = true;
ws.send(encodeSEND(["13c", [1, 15, 0]]));
} else if (data[2] > 1000 && cowboyCap == false) {
Object.assign(hats, {
"Cowboy Cap": 5
});
cowboyCap = true;
ws.send(encodeSEND(["13c", [1, 5, 0]]));
} else if (data[2] > 2000 && rangerCap == false) {
Object.assign(hats, {
"Ranger Cap": 4
});
rangerCap = true;
ws.send(encodeSEND(["13c", [1, 4, 0]]));
} else if (data[2] > 2000 && explorerCap == false) {
Object.assign(hats, {
"Explorer Cap": 18
});
explorerCap = true;
ws.send(encodeSEND(["13c", [1, 18, 0]]));
} else if (data[2] > 2500 && flipperCap == false) {
Object.assign(hats, {
"Flipper Cap": 31
});
flipperCap = true;
ws.send(encodeSEND(["13c", [1, 31, 0]]));
} else if (data[2] > 3000 && marksmanCap == false) {
Object.assign(hats, {
"Marksman Cap": 1
});
marksmanCap = true;
ws.send(encodeSEND(["13c", [1, 1, 0]]));
} else if (data[2] > 3000 && bushCap == false) {
Object.assign(hats, {
"Bush Cap": 10
});
bushCap = true;
ws.send(encodeSEND(["13c", [1, 10, 0]]));
console.log("Hat Buyed");
} else if (data[2] > 3000 && haloCap == false) {
Object.assign(hats, {
"Halo Cap": 48
});
haloCap = true;
ws.send(encodeSEND(["13c", [1, 48, 0]]));
}
}
I'm new to javascript and i have a few questions about my if and if else statement我是 javascript 新手,我对 if 和 if else 语句有一些疑问
Is it safe to do what i'm doing.做我正在做的事情是否安全。 . . Having so many if else statements inside a if statement? if 语句中有这么多 if else 语句?
Would there be a better way of doing this with out so many if else statements.如果没有这么多 if else 语句,是否有更好的方法来做到这一点。
What i have below is not even all if else statements i still go more to add but be for i finished it I was just thinking maybe there is a better way to do it?我在下面的内容甚至不是全部 if else 语句我仍然要添加更多但因为我完成了它我只是想也许有更好的方法来做到这一点?
var hats = {};
var pumpkinCap = false;
var bummleCap = false;
var strawCap = false;
var winterCap = false;
var cowboyCap = false;
var rangerCap = false;
var explorerCap = false;
var flipperCap = false;
var marksmanCap = false;
var bushCap = false;
var haloCap = false;
if (data[1] == 'points') {
if (data[2] > 50 && pumpkinCap == false) {
Object.assign(hats, {
"Pumpkin Hat": 57
});
pumpkinCap = true;
ws.send(encodeSEND(["13c", [1, 57, 0]]));
} else if (data[2] > 100 && bummleCap == false) {
Object.assign(hats, {
"Bummle Hat": 8
});
bummleCap = true;
ws.send(encodeSEND(["13c", [1, 8, 0]]));
} else if (data[2] > 600 && strawCap == false) {
Object.assign(hats, {
"Straw Cap": 2
});
strawCap = true;
ws.send(encodeSEND(["13c", [1, 2, 0]]));
} else if (data[2] > 600 && winterCap == false) {
Object.assign(hats, {
"Winter Cap": 15
});
winterCap = true;
ws.send(encodeSEND(["13c", [1, 15, 0]]));
} else if (data[2] > 1000 && cowboyCap == false) {
Object.assign(hats, {
"Cowboy Cap": 5
});
cowboyCap = true;
ws.send(encodeSEND(["13c", [1, 5, 0]]));
} else if (data[2] > 2000 && rangerCap == false) {
Object.assign(hats, {
"Ranger Cap": 4
});
rangerCap = true;
ws.send(encodeSEND(["13c", [1, 4, 0]]));
} else if (data[2] > 2000 && explorerCap == false) {
Object.assign(hats, {
"Explorer Cap": 18
});
explorerCap = true;
ws.send(encodeSEND(["13c", [1, 18, 0]]));
} else if (data[2] > 2500 && flipperCap == false) {
Object.assign(hats, {
"Flipper Cap": 31
});
flipperCap = true;
ws.send(encodeSEND(["13c", [1, 31, 0]]));
} else if (data[2] > 3000 && marksmanCap == false) {
Object.assign(hats, {
"Marksman Cap": 1
});
marksmanCap = true;
ws.send(encodeSEND(["13c", [1, 1, 0]]));
} else if (data[2] > 3000 && bushCap == false) {
Object.assign(hats, {
"Bush Cap": 10
});
bushCap = true;
ws.send(encodeSEND(["13c", [1, 10, 0]]));
console.log("Hat Buyed");
} else if (data[2] > 3000 && haloCap == false) {
Object.assign(hats, {
"Halo Cap": 48
});
haloCap = true;
ws.send(encodeSEND(["13c", [1, 48, 0]]));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.