Javascript 如何在阵列上执行j操作?

Javascript 如何在阵列上执行j操作?,javascript,arrays,Javascript,Arrays,给定一个整数数组,在数组上执行j操作的最有效方法是什么,其中j的值可以是=>或b-a); 设i=0; 而(j!==0){ 如果(ia+b); } 这在很多情况下都有效,但出于某种原因,arr和j的大输入似乎会导致循环中的算术运算无法进行 谢谢 编辑:为清晰起见,对问题进行了编辑。我以前有一个有效的解决方案,但时间太长了。此解决方案的算术已关闭,但运行速度要快得多。使用模来迭代标记[i%arr.length]从0到j: function performJ(arr, j) { arr.some

给定一个整数数组,在数组上执行
j
操作的最有效方法是什么,其中
j
的值可以是
=>
b-a);
设i=0;
而(j!==0){
如果(ia+b);
}
这在很多情况下都有效,但出于某种原因,
arr
j
的大输入似乎会导致
循环中的算术运算无法进行

谢谢


编辑:为清晰起见,对问题进行了编辑。我以前有一个有效的解决方案,但时间太长了。此解决方案的算术已关闭,但运行速度要快得多。

使用模来迭代标记
[i%arr.length]
从0到
j

function performJ(arr, j) {
  arr.someMethod(); // ?
  for (let i = 0; i < j; i++) {
    arr[i % arr.length] = /* operation */
  }
  return arr.someMethod(); // ?
}
功能性能j(arr,j){
arr.someMethod();/?
for(设i=0;i
为什么不只是像这样的for循环呢

for(let i = 0; i <= j; i++) {
  const index = i % array.length;
  array[index] = doSomething();
}

for(让i=0;i“最有效的方式”是什么?还有什么是
arr.someMethod();
?你说的“摆脱困境”是什么意思?@YuryTarabanko——在时间上很有效。@Dekel——对
arr
j
的小输入可以对数组进行排序并减少其元素之和,非常大的输入会对这些操作产生不正确的答案。你能举一个结果不正确的输入的例子吗?我尝试了一些,但没有成功当
j
超过数组长度时,它只是循环回到余数值(又称模数)。不确定为什么会有否决票…:/这是一个很好的答案。奇怪的是,此解决方案与我的原始代码一样失败。我更新了我的问题,以便更清楚地了解我正在尝试做什么。我的第一个解决方案有效,但耗时太长,因此它不是真正的“解决方案”,但我上面共享的解决方案在较大的输入上失败。