Javascript正在更改字符串中的数字

Javascript changing number in string

本文关键字:数字 字符串 Javascript      更新时间:2024-06-05

有没有办法循环使用此代码并更改数字(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);
}