繁体   English   中英

很多 else if 语句清理/缩短

[英]a lot of else if statements clean / shorten

我是 javascript 新手,我对 if 和 if else 语句有一些疑问

做我正在做的事情是否安全。 . if 语句中有这么多 if else 语句?

如果没有这么多 if else 语句,是否有更好的方法来做到这一点。

我在下面的内容甚至不是全部 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]]));
            }
        }

我是 javascript 新手,我对 if 和 if else 语句有一些疑问

做我正在做的事情是否安全。 . if 语句中有这么多 if else 语句?

如果没有这么多 if else 语句,是否有更好的方法来做到这一点。

我在下面的内容甚至不是全部 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]]));
            }
        }

我是 javascript 新手,我对 if 和 if else 语句有一些疑问

做我正在做的事情是否安全。 . if 语句中有这么多 if else 语句?

如果没有这么多 if else 语句,是否有更好的方法来做到这一点。

我在下面的内容甚至不是全部 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM