Javascript更改字符串中的数字

Javascript更改字符串中的数字,javascript,duplicates,Javascript,Duplicates,有没有一种方法可以循环使用此代码并更改数字i=1,2,3以避免重复 if (bool) { reeks1Getallen = reeks1.splice(0, k1 % (reeks1.length)); reeks2Getallen = reeks2.splice(0, k2 % (reeks2.length)); reeks3Getallen = reeks3.splice(0, k3 % (reeks3.length)); } else { reeks1Ge

有没有一种方法可以循环使用此代码并更改数字i=1,2,3以避免重复

if (bool) {
    reeks1Getallen = reeks1.splice(0, k1 % (reeks1.length));
    reeks2Getallen = reeks2.splice(0, k2 % (reeks2.length));
    reeks3Getallen = reeks3.splice(0, k3 % (reeks3.length));
} else {
    reeks1Getallen = reeks1.splice(0, (reeks1.length) - k1 % reeks1.length);
    reeks2Getallen = reeks2.splice(0, (reeks2.length) - k2 % reeks2.length);
    reeks3Getallen = reeks3.splice(0, (reeks3.length) - k3 % reeks3.length);
}
reeks1 = reeks1.concat(reeks1Getallen);
reeks2 = reeks2.concat(reeks2Getallen);
reeks3 = reeks3.concat(reeks3Getallen);

听听@Bergi说了些什么;这看起来就像我教授的一个项目

如果您现在无法删除枚举变量,则代码应等效于:

for (let [reeks, k] of [[reeks1, k1], [reeks2, k2], [reeks3, k3]]) {
   const getallen = reeks.splice(0, bool ? k % reeks.length : reeks.length - k % reeks.length);
   reeks = reeks.concat(getallen);
}

如果要使用索引循环,应该使用对象数组。这个答案比其他答案要详细一点,但它也应该完成工作:

var objList = [
  {
    reeks: [], // fill with your own array
    reeksGetallen: [], // fill with your own array
    k: 1
  },
  {
    reeks: [], // fill with your own array
    reeksGetallen: [], // fill with your own array
    k: 2
  },
  {
    reeks: [], // fill with your own array
    reeksGetallen: [], // fill with your own array
    k: 3
  }
];

for (var i = 0; i < objList.length; i++) { 
  var reeksGetallen = objList[i].reeksGetallen;
  var reeks = objList[i].reeks;
  var k = objList[i].k;

  if (bool) {
    reeksGetallen = reeks.splice(0, k % reeks.length);
  } else {
    reeksGetallen = reeks.splice(0, reeks.length - k % reeks.length);
  }

  reeks = reeks.concat(reeksGetallen);
}

不要使用不同的变量名。使用一个数组var reeks=[…]每个语句中有3个变化字符串,我不会用一个数组来避免重复,对吗@BergiI在这些语句中根本看不到任何字符串?