【发布时间】:2022-01-13 19:21:04
【问题描述】:
我继承了一个网站并试图压缩一些写得很糟糕的脚本。一个特定部分会根据其他选择更新选择字段中的选项。它从其他两个选择字段中获取数值,以更新第三个字段上可能选项的数量。
这里是有问题的代码:
var value = parseInt(first_value) + parseInt(second_value);
if(value == 1){
var newOptions = {"0": "0", "1": "1",};
} else if(value == 2){
var newOptions = {"0": "0", "1": "1", "2": "2",};
} else if(value == 3){
var newOptions = {"0": "0", "1": "1", "2": "2", "3": "3",};
} else if(value == 4){
var newOptions = {"0": "0", "1": "1", "2": "2", "3": "3", "4": "4",};
} else if(value == 5){
var newOptions = {"0": "0", "1": "1", "2": "2", "3": "3", "4": "4", "5": "5",};
}
这样一直持续到 value == 30,所以它最终会变成很多代码,我相信有办法减少它。
我自己尝试了一些完全失败的解决方案,所以我想转向社区看看是否有人有任何想法?
【问题讨论】:
-
似乎是从第一个到第二个的循环,并将它们作为字符串键/值铲入一个对象将是最简单的方法,尽管还有其他方法。很好奇你尝试过的东西不起作用。
标签: javascript jquery reduce