Javascript Array从特定索引获取offset-index

zsi*_*tro 2 javascript arrays

任何人都可以建议一个片段或一个简短的方法来解决这个问题:

array = [a,b,c,d,e,f]

currentIndex = 2;

getOffset(array,currentIndex,2); // 2+2 = 4 -> return 'e'

getOffset(array,currentIndex,-2); // -> return 'a'

getOffset(array,currentIndex,-3); // -> return 'f'

getOffset(array,currentIndex,-4); // -> return 'e'

getOffset(array,currentIndex, 5); // -> return 'b'
Run Code Online (Sandbox Code Playgroud)

因此,如果目标索引大于array.length或<0 - >模拟数组内的循环,并继续进入索引内部.

谁能帮我?我试过,但有一个越野车脚本:(

TY!

Amb*_*mps 5

试试这个:

function getOffset(arr,index, offset){   
    return arr[(arr.length+index+(offset%arr.length))%arr.length];
}
Run Code Online (Sandbox Code Playgroud)