首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中循环访问数组

如何在JavaScript中循环访问数组
EN

Stack Overflow用户
提问于 2013-07-05 15:15:05
回答 6查看 27.2K关注 0票数 11

我有一个像[A,B,C,D]这样的数组。我想在for循环中访问该数组,如下所示

代码语言:javascript
复制
var arr = [A,B,C,D];

var len = arr.len;
for(var i = 0;i<arr.len;i++){
    0 - A,B,C
    1 - B,C,D
    2 - C,D,A
    3 - D,A,B
}

我想在JavaScript中访问它,有什么想法吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-07-05 15:18:21

试试这个:

代码语言:javascript
复制
var arr = ["A","B","C","D"];
for (var i=0, len=arr.length; i<len; i++) {
    alert(arr.slice(0, 3).join(","));
    arr.push(arr.shift());
}

如果不改变数组,它将是

代码语言:javascript
复制
for (var i=0, len=arr.length; i<len; i++) {
    var str = arr[i];
    for (var j=1; j<3; j++)
        str += ","+arr[(i+j)%len]; // you could push to an array as well
    alert(str);
}
// or
for (var i=0, len=arr.length; i<len; i++)
    alert(arr.slice(i, i+3).concat(arr.slice(0, Math.max(i+3-len, 0)).join(","));
票数 14
EN

Stack Overflow用户

发布于 2014-09-04 01:12:40

只需使用模运算符,您就可以以循环方式访问数组。

代码语言:javascript
复制
var arr = ['A', 'B', 'C', 'D'];

for (var i = 0, len = arr.length; i < len; i++) {
  for (var j = 0; j < 3; j++) {
    console.log(arr[(i + j) % len])
  }
  console.log('****')
}

票数 10
EN

Stack Overflow用户

发布于 2013-07-05 15:23:55

代码语言:javascript
复制
for (var i = 0; i < arr.length; i++) {
    var subarr = [];
    for (var j = 0; j < 3; j++) {
        subarr.push(arr[(i+j) % arr.length]);
    }
    console.log(i + " - " + subarr.join(','));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17483149

复制
相关文章

相似问题

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