javascript - Accessing an element of an array through negative indexes -


i want access contents of array arbitrary indexes. lets have array 3 elements in it. modulo comes in handy here , solves problem positive integer perfectly:

var arr = array['foo', 'bar', 'foobar']; var someinteger = 3; var element = array[ someinteger%arr.length ]; // returns first element 'foo' 

now have same result negative integers not know how =(

var arr = array['foo', 'bar', 'foobar']; var someinteger = -1; // need negative integer return last element doesn´t var someinteger = -2; // need negative integer return 'bar' var someinteger = -3; // need negative integer return 'foo' var someinteger = -4; // need negative integer return 'foobar' var someinteger = -5; // need negative integer return 'bar' 

i hope problem clear enough =)

you can use

  1. n integer
  2. n % l integer in (-l, l)
  3. n % l + l integer in (0, 2*l)
  4. (n % l + l) % l integer in [0, l)

in javascript,

arr[(someinteger % arr.length + arr.length) % arr.length] 

alternatively, can play flooring, ceiling , truncating:

n - math.floor(n / l) * l; // in [ 0,l) n - math.ceil (n / l) * l; // in (-l,0] n - math.trunc(n / l) * l; // in (-l,l) 

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -