通过重复模式打印数组值

时间:2017-05-03 05:08:14

标签: javascript arrays

var arr = [a, b, c];

在上面的数组中, 索引0包含" a", 索引1包含" b", 索引2包含" c"。

console.log(arr[0])  // will print > "a"
console.log(arr[1])  // will print > "b"
console.log(arr[2])  // will print > "b"

有没有办法,如果我想要console.log(arr[3]),那么它应该再次打印"a"console.log(arr[4])将是"b",依此类推。如果我们想要一个像这样console.log(arr[42])的42的索引,那么它应该按照相同的模式打印这三个字符串值中的任何一个。

4 个答案:

答案 0 :(得分:3)

只需与% arr[value % arr.length]一起使用。



var arr = ['a', 'b', 'c'];

function finding(val){
return arr[val % arr.length];
}
console.log(finding(0))
console.log(finding(1))
console.log(finding(2))
console.log(finding(3))
console.log(finding(4))
console.log(finding(5))
console.log(finding(6))
console.log(finding(42))




答案 1 :(得分:2)

我们可以定义我们的自定义函数,它给出了适当的索引



function getIndex(num){
  return num%3;/* modulo operator*/ 
}
var arr=["a","b","c"];
console.log(arr[getIndex(0)]);
console.log(arr[getIndex(1)]);
console.log(arr[getIndex(2)]);
console.log(arr[getIndex(3)]);
console.log(arr[getIndex(4)]);
console.log(arr[getIndex(5)]);
console.log(arr[getIndex(41)]);




答案 2 :(得分:1)

我们无法准确了解您的需求。但是我们可以通过这个获得你想要的东西

var arr = ["a","b","c"];
var printToThisIteration = function(n){
    var length = arr.length;
    for(i=0;i<n;++i)
     {
         console.log(arr[i%length])

     }
}

答案 3 :(得分:1)

使用%可以让它重复多次。

&#13;
&#13;
var arr = ['a','b','c'];

let repetitions = 5;

for(var i = 0; i < repetitions; i++){
  console.log(arr[i%3]);
}
&#13;
&#13;
&#13;