通过负索引访问数组的元素

2024-04-18

我想通过任意索引访问数组的内容。假设我们有一个包含三个元素的数组。模在这里派上用场,完美地解决了任何正整数的问题:

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

现在我想对负整数得到相同的结果,但我不知道如何 =(

var arr = array['foo', 'bar', 'foobar'];
var someInteger = -1; // I need this negative integer to return the last element which it doesn´t
var someInteger = -2; // I need this negative integer to return 'bar'
var someInteger = -3; // I need this negative integer to return 'foo'
var someInteger = -4; // I need this negative integer to return 'foobar'
var someInteger = -5; // I need this negative integer to return 'bar'

我真的希望我的问题足够清楚=)


您可以使用

  1. n integer
  2. n % l中的整数(-l, l)
  3. n % l + l中的整数(0, 2*l)
  4. (n % l + l) % l中的整数[0, l)

在 JavaScript 中,

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

或者,您可以使用地板、天花板和截断:

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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过负索引访问数组的元素 的相关文章

随机推荐