配列の要素をどんな整数のインデックスでも取得できる関数を書いた。
function getItemAt(target, index) { if (index < 0) { return arguments.callee(target.concat().reverse(), -(index + 1)); } else { return target[index % target.length]; } }
usage
alert(getItemAt(["a", "b", "c", "d", "e"], -1));// e alert(getItemAt(["a", "b", "c", "d", "e"], 6));// b
os0x さんのコメントを元に改正 (2009.02.03)
function getItemAt(target, index) { return target.slice(index % target.length)[0]; }