Javascript 我需要一个函数,如果数组结束,它将跳过数组项返回到第一个项
我有一个函数,它以预先确定的方式跳过数组项,以便能够循环自身。例如,如果我告诉它从数组中的最后一个项跳两次,我需要它能够跳到前面的两个项,并落在该数组中的第一个项上 这是:Javascript 我需要一个函数,如果数组结束,它将跳过数组项返回到第一个项,javascript,arrays,Javascript,Arrays,我有一个函数,它以预先确定的方式跳过数组项,以便能够循环自身。例如,如果我告诉它从数组中的最后一个项跳两次,我需要它能够跳到前面的两个项,并落在该数组中的第一个项上 这是: function skip (start, pattern, arr) { let idx = 0, res = [ ]; pattern.unshift (start); for (let i of pattern) { idx += i; re
function skip (start, pattern, arr)
{
let idx = 0,
res = [ ];
pattern.unshift (start);
for (let i of pattern) {
idx += i;
res.push (arr [idx]);
}
return res;
}
为了澄清起见,如果我说:
skip (0, [ 1,1,2,1 ], [ 1, 2, 3, 4]);
我需要它返回[1,2,3,1,2]。有人知道实现这一点的方法吗?您可以使用数组长度的模,并调整访问的索引
函数skipstart、模式、arr{
设idx=0,
res=[];
pattern.unshiftstart;
让我来看看图案{
idx+=i;
res.pusharr[idx%arr.length];
}
返回res;
}
console.logskip0[1,1,2,1],[1,2,3,4];最后一个项目中的2个项目不是以第一个项目结束,而是以第二个项目结束,如果你走一整圈的话。第一个项目的重置从何而来,如何确定?对不起,我指的是第一个索引的项目