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 Answers 4
Try to use a simple modulo math at this context,
angkaPertama.forEach(function(itm,i){
console.log(itm + " => " + angkaKedua[i % (angkaKedua.length)]);
});
DEMO
answered Mar 30, 2016 at 11:47
Rajaprabhu Aravindasamy
67.2k17 gold badges107 silver badges133 bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
Rajaprabhu Aravindasamy
@MalhadiJr Glad to help! :)
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;
}
Comments
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>");
})
Comments
var j=0
for (var i = 0; i < angkaPertama.length; i++) {
if(j==5)
{
j=0
}
console.log(angkaPertama[i] + angkaKedua[j++])
}
answered Mar 30, 2016 at 11:50
Dattatreya Kugve
3771 gold badge6 silver badges26 bronze badges
Comments
lang-js
for (var i = 0; i< 4 && i < angkaPertama.length; i++) {angkaPertama.concat(angkaKedua);Will give you 1 array.