通过负索引访问数组的元素
Accessing an element of an array through negative indexes
我想通过任意索引访问数组的内容。假设我们有一个包含三个元素的数组。模在这里很有用,它完美地解决了任何正整数的问题:
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'
我真的希望我的问题足够清楚=(
您可以使用
n
整数(-l, l)
中的n % l
整数(0, 2*l)
中的n % l + l
整数[0, l)
中的(n % l + l) % 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)
如果数字为负数:
while(someInteger < 0)
someInteger += arr.length;
然后像前面那样使用array[ someInteger%arr.length ]
。
相关文章:
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- Mongoose-在更新中删除数组元素
- javascript数组元素是否知道其封闭数组
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 如何在javascript中使用click函数选择数组元素
- 如何在JavaScript中剥离数组元素中的非整数
- 消隐数组元素是否生成自己的属性
- 如何使一个Math.random数组元素比另一个数组元素更有可能被选中
- 在Codrops的内容中添加数组元素展开缩略图网格预览
- 如何使用Jquery水平打印表中的数组元素,并在某个元素之后垂直打印
- 如何访问数组中的数组元素(JavaScript)
- 生成ACF标记位置的数组(元素列表后缺少])
- validate.js验证数组元素
- JavaScript Unshift EACH 数组元素
- 如何在加号运算符之后选择数组元素的一部分
- 访问标记图标的图像数组元素
- JavaScript 合并相同的数组元素
- 删除仅空格数组元素
- JavaScript闭包和返回数组元素