Javascript 如何在JS中更改变量数组中的变量值

Javascript 如何在JS中更改变量数组中的变量值,javascript,jquery,arrays,variables,Javascript,Jquery,Arrays,Variables,我甚至不确定这是否可能做到,我将快速尝试一下,看看是否有人有任何解决方案,啊。 是否有任何方法可以将这些变量存储到数组中,并通过数组更改它们 function themepreviewchange() {pretaskbartxt=curcolsch[0];pretaskbartxtprs=curcolsch[1];preactivetitle=curcolsch[2];preinactivetitle=curcolsch[3];pretbgradinactive1=curcolsch[4];

我甚至不确定这是否可能做到,我将快速尝试一下,看看是否有人有任何解决方案,。 是否有任何方法可以将这些变量存储到数组中,并通过数组更改它们

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]}
然后做一个for循环

for(var i=0; i<curcolsch.length; i++){settings[i]=curcolsch[i]}

for(var i=0;我希望这不是你的家庭作业

let settings = {
   pretaskbartxt: curcolsch[0],
   pretaskbartxtprs: curcolsch[1],
   ...
  cwpp: curcolsch[27],
};

for (const aThing in settings) {
   console.log(`value of ${aThing} is ${settings[aThing]}`);
}

应该给你一个基本的想法……

我希望得到一个简单明了的答案,而不需要重写我一半的代码,所以我最终删除了所有变量,以替换单个数组,这样我可以更轻松地切换,而且比任何其他解决方案都更紧凑

var preactive = [undefined,undefined,'--preactivetitle','--preinactivetitle',undefined,undefined,
   undefined,undefined,'--prewhite','--prelightg','--presilver','--premidgray','--preblack',
   '--preblue','--preprussian',undefined,'--preyellow','--prefont','--prehover',undefined,
   '--preinvert']
function themepreviewchange() { precolsch = undefined; precolsch = schemes[themecurrent]
   for(var i = 0; i<preactive.length; i++){docelem.style.setProperty(preactive[i], precolsch[i])}
   gradient = "linear-gradient(90deg, " + precolsch[4] + "," + precolsch[5] + ")";
var preactive=[undefined,undefined,'--preactivetitle','--preinactivetitle',undefined,undefined,
未定义,未定义,'-prewhite','-prelightg','-presilver','-premidgray','-preblack',,
“--preblue',”--preprussian',未定义“--preyellow',“--prefont',”--prehover',未定义,
“--预反转”]
函数themepreviewchange(){preclsch=undefined;preclsch=schemes[themecurrent]

对于(var i=0;在我看来,许多独立变量是一个真正的代码,它会导致类似的问题。如果我是你,我会完全忽略它们,只使用
curcolsch
(可能会将其转换为对象而不是数组)要明确的是,我对变量计数问题并不是完全疯狂,我提出这个问题的全部原因是,我可以摆脱它们,用数组代替它们,而不是依赖于单独的变量。正如我所说,放弃数组,使用单个对象似乎行得通。如果我对对象有任何了解,我会这样做的。
var preactive = [undefined,undefined,'--preactivetitle','--preinactivetitle',undefined,undefined,
   undefined,undefined,'--prewhite','--prelightg','--presilver','--premidgray','--preblack',
   '--preblue','--preprussian',undefined,'--preyellow','--prefont','--prehover',undefined,
   '--preinvert']
function themepreviewchange() { precolsch = undefined; precolsch = schemes[themecurrent]
   for(var i = 0; i<preactive.length; i++){docelem.style.setProperty(preactive[i], precolsch[i])}
   gradient = "linear-gradient(90deg, " + precolsch[4] + "," + precolsch[5] + ")";