【发布时间】:2021-06-29 16:54:52
【问题描述】:
不确定这是否可能,所以我会快速尝试一下,看看是否有人有任何解决方案,咳咳。 有什么办法可以将这些变量存储到一个数组中,然后通过数组改变它们;
function themepreviewchange() {pretaskbartxt=curcolsch[0];pretaskbartxtprs=curcolsch[1];preactivetitle=curcolsch[2];preinactivetitle=curcolsch[3];pretbgradinactive1=curcolsch[4];
pretbgradinactive2=curcolsch[5];pretbgradactive1=curcolsch[6];pretbgradactive2=curcolsch[7];cpwhite=curcolsch[8];cplightg=curcolsch[9];cpsilver=curcolsch[10];cpmidgray=curcolsch[11];
cpgray=curcolsch[12];cpblack=curcolsch[13];cpblue=curcolsch[14];cpprussian=curcolsch[15];cpwincyan=curcolsch[16];cpyellow=curcolsch[17];cpfont=curcolsch[18];cphover=curcolsch[19];
cpatext=curcolsch[20];preinvert=curcolsch[21];shuffleflop=curcolsch[22];discheckinv=curcolsch[23];enacheckinv=curcolsch[24];invcheckinv=curcolsch[25];prespritesheet=github+curcolsch[26];
cwpp=curcolsch[27]}
var settings = pretaskbartxt,pretaskbartxtprs,preactivetitle,preinactivetitle,pretbgradinactive1,pretbgradinactive2,pretbgradactive1,pretbgradactive2,cpwhite,cplightg,cpsilver,cpmidgray,
cpgray,cpblack,cpblue,cpprussian,cpwincyan,cpyellow,cpfont,cphover,cpatext,preinvert,shuffleflop,discheckinv,enacheckinv,invcheckinv,prespritesheet,cwpp,currentcolour
然后只做一个 for 循环?
for(var i=0; i<curcolsch.length; i++){settings[i]=curcolsch[i]}
当前结果只是最终改变了数组中该数字的值,并将其更改为与 curcolsch 数组中的当前位置相同的值。所以我的问题是;我将如何使用更快的路线,而不是像上面提到的那样在数组中向上一步发送相同的变量集?
需要明确的是,我对变量计数问题并没有完全发疯,我问的全部原因是我可以摆脱它们。
【问题讨论】:
-
这么多独立变量是真正的代码异味 IMO,它会导致这样的问题。如果我是你,我会完全忽略它们,只使用
curcolsch(可能将其转换为对象而不是数组) -
只是要明确一点,我对变量计数问题并没有完全发疯,我要问的全部原因是我可以摆脱它们并用数组替换而不是依赖单独的变量.
-
就像我说的,放弃数组并使用单个对象似乎可行。
-
如果我对对象有所了解的话。
标签: javascript jquery arrays variables