こんにちは私はハイチャートを使用していて、チャートにフィードするためにその場で配列の配列を作成しようとしています。
配列の配列を作成する方法を理解しましたが、出力形式はhighchartsが提供したいものではありません。
出力が次のようになる配列をその場で生成しようとしています:
[[10、3500]、[11、3400]、[12、3300]、[13、3200]、[14、3100]、[15、3000]、[16、2900]、[17、2800]、[ 18、2700]、[19、2600]、[20、2500]]
しかし、私が得るものはこれです:
10,3500,11,3400,12,3300,13,3200,14,3100,15,3000,16,2900,17,2800,18,2700,19,2600,20,2500
フォーマットが正しくなるように、Javascriptで角かっこを出力するにはどうすればよいですか?
<html>
<head>
Max Price: <input id="max_price_input" type="number" value=3500><br>
Min Price: <input id="min_price_input" type="number" value=2500><br>
Max People: <input id="max_people_input" type="number" value=20><br>
Min People: <input id="min_people_input" type="number" value=10><br>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script>
chart = void 0;
$(document).ready(function() {
var max_price, min_price, max_people, min_people, chart;
max_price=document.getElementById("max_price_input").value;
min_price=document.getElementById("min_price_input").value;
max_people=document.getElementById("max_people_input").value;
min_people=document.getElementById("min_people_input").value;
var price_change = max_price - min_price;
var steps = max_people - min_people;
var price_step = price_change*1.0/steps;
var price = max_price;
var people = 10;
var priceArray = [];
for (var i=0;i<=steps;i++)
{
priceArray[i] = [];
priceArray[i][0] = [people, price];
price-=price_step;
people+=1
}
document.getElementById("price_steps").innerHTML=priceArray
return chart = new Highcharts.Chart({
chart: {
renderTo: "chart",
type: "spline"
},
title: {
text: "Dynamic Price Chart"
},
xAxis: {
title: {
text: "People"
}
},
yAxis: {
plotLines: [
{
color: "#FF0000",
width: 2,
value: 0
}
],
title: {
text: "Price"
}
},
tooltip: {
formatter: function() {
return "People: " + this.x + "<br/> Price: " + this.y;
}
},
series: [
{
name: "Price",
data: priceArray
}
]
});
});
</script>