首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在索引超出界限的情况下从数组中获取项

如何在索引超出界限的情况下从数组中获取项
EN

Stack Overflow用户
提问于 2017-01-17 22:11:36
回答 4查看 259关注 0票数 0

我有一个有8个职位的数组:

代码语言:javascript
复制
var myArray = [];
myArray[0] = "text1";
myArray[1] = "text2";
myArray[2] = "text3";
myArray[3] = "text4";
myArray[4] = "text5";
myArray[5] = "text6";
myArray[6] = "text7";
myArray[7] = "text8";

我想要做的是,如果用户输入一个大于8的数字从数组中获取其中一个文本,它将在7之后从数组的开头再次开始。因此,如果用户输入10,用户将得到位置1的值,即"text2“。我该怎么做呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-17 22:14:38

您可以通过使用“剩余”模算子来完成这一任务,它处理此类“包装”场景:

代码语言:javascript
复制
function getArrayValueWithWrapping(array, index){
     return array[index % array.length];
}
票数 4
EN

Stack Overflow用户

发布于 2017-01-17 22:15:32

您必须使用calculate操作符对division的其余部分进行处理。

代码语言:javascript
复制
var myArray = [];
myArray[0] = "text1";
myArray[1] = "text2";
myArray[2] = "text3";
myArray[3] = "text4";
myArray[4] = "text5";
myArray[5] = "text6";
myArray[6] = "text7";
myArray[7] = "text8";
$('button').click(function(){
  alert(myArray[$('input').val()%8]);
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number"/>
<button>Get Text</button>

票数 1
EN

Stack Overflow用户

发布于 2017-01-17 22:20:01

我认为它适用于myArray索引%8。如果然后尝试调用索引nr。8模块返回0。如果你打电话给nr。9,它将获得数组的索引1。

希望能帮上忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41707926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档