1

maybe this is a simple question, but i really confused with this loop.

I have 2 arrays like below:

var angkaPertama = [
    '0',
    '3',
    '8',
    '6',
    '1',
    '9',
    '5',
    '12',
    '14',
    '65',
    '54',
    '23'
]

var angkaKedua = [
    '0',
    '1',
    '2',
    '3'
]

How can i make a loop so the result is like below:

0            =>          0
3            =>          1
8            =>          2
6            =>          3

1            =>          0
9            =>          1
5            =>          2
12           =>          3

14           =>          0
65           =>          1
54           =>          2
23           =>          3

I am try this code, but fail

for (var i = 0; i < angkaPertama.length; i++) {
    for (var j = 0; j < angkaKedua.length; j++) {
        console.log(angkaPertama[i] + angkaKedua[j])
        if (i == 4) {
            break
        }
    }
}

4 Answers4

6

Try to use a simple modulo math at this context,

angkaPertama.forEach(function(itm,i){
  console.log(itm + " => " + angkaKedua[i % (angkaKedua.length)]);
}); 

DEMO

Rajaprabhu Aravindasamy
  • 66,513
  • 17
  • 101
  • 130
0
var j=0
for (var i = 0; i < angkaPertama.length; i++) {
    if(j==5)
    {
        j=0
    }
    console.log(angkaPertama[i] + angkaKedua[j++])
}
Dattatreya Kugve
  • 320
  • 1
  • 4
  • 21
0

Try this:

var j = 0;
for(var i = 0; i < angkaPertama.length; i++)
{
  if(j >= angkaKedua.length){ j = 0; } 
  console.log(angkaPertama[i] + ' => ' + angkaKedua[j]);
  j = j + 1;
}
jmjuanes
  • 3
  • 5
0

Yes it is pretty easy when u use % (modulo):

var angkaPertama = [
  '0',
  '3',
  '8',
  '6',
  '1',
  '9',
  '5',
  '12',
  '14',
  '65',
  '54',
  '23'
]

var angkaKedua = [
  '0',
  '1',
  '2',
  '3'
]

angkaPertama.forEach(function(e,i) {
  document.write(e +" => "+angkaKedua[i%angkaKedua.length]+"<br>");
})
John
  • 760
  • 5
  • 12