Memecahkan
atau memisahkan value pada Array menjadi beberapa array ini akan sangat berguna
ketika anda menggunakan script untuk highchart yang bertipe “lowmedhigh” atau
untuk kebutuhan lainnya. Untuk memisahkan value ini dapat dengan menggunakan proses
looping dan pembatasan jumlah value untuk di push ke dalam beberapa array baru.
Dari
gambar di atas terlihat bahwa kita akan memisahkan value pada Array menjadi 3
Array baru. Adapun cara melakukannya anda dapat menggunakan script Jquery di bawah
ini,
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#btn2").click(function(){
var Array =[1,2,3,5,6,3,6,5,4]
var NewArray = [];
var divide = Array.length/3; //Set Array into 3 parts
for(var i=0;i<=(divide-1);i++){
var j =0
var val=[];
for(var k=(i*2)+i;k<Array.length;k++){ //k start from 0, 3, 5
//console.log((i*2)+i);
if(j<=2){
val.push(Array[k]);
}
j=j+1;
}
NewArray[i] = val;
//$("li").html(NewArray[i]);
var html = '<li><span>NewArray['+i+'] :'+NewArray[i]+'</span></li>';
$('.list').append(html);
}
});
});
</script>
</head>
<body>
<p>Array = [1,2,3,5,6,3,6,5,4] </p>
<p>This is a New Array.</p>
<ol class="list">
</ol>
<button id="btn2">Prepend list item</button>
</body>
</html>
Penjelasan
k = (i * 2) + i untuk menghindari start
looping dari 0 ketika value dari index ke 0 hingga ke 2 telah digunakan untuk
NewArray[0] karena untuk mengisi NewArray[1] value yang dibutuhkan adalah dari
index ke 3 hingga index ke 5.
Jika i = 0
k
= (0 * 2) + 0 = 0
Jika i
= 1
k
= (1 * 2) + 1 = 3
Jika i
= 2
k= (2 * 2) + 1 = 5
Dan seterusnya.
Share This :
0 Comments