あなたはこのようなことをすることができます:
var data = {'points' : []};
function addPoint(x, y) {
data.points.push({'x' : x, 'y' : y});
}
function getPoint(index) {
return data.points[index];
}
addPoint(10, 20);
addPoint(5, 3);
var p = getPoint(1);
alert(p.x + ", " + p.y); //alerts => "5, 3"
これは、任意の数のポイントで機能します。
アップデート
配列をクリアするには
function clearPoints() {
data.points = [];
}
アップデート2
単純なページがある場合、これらの小さな関数は問題なく機能します。このポイント処理が最終的に大規模なシステムの一部になる場合は、次のようなことを行う方がよい場合があります。
var data = {
'points' : [],
addPoint : function(x, y) {
this.points.push({
'x' : x,
'y' : y
});
},
getPoint : function(index) {
return this.points[index];
},
clearPoints : function() {
this.points = [];
},
removePoint : function(index) {
this.points.splice(index, 1);
}
};
使用例:
alert(data.points.length); // => 0
data.addPoint(1, 2);
data.addPoint(8, 12);
data.addPoint(3, 7);
alert(data.points.length); // => 3
var p = data.getPoint(2); //p = {x:3, y:7};
data.removePoint(1);
alert(data.points.length); // => 2
data.clearPoints();
alert(data.points.length); // => 0
これにより、ポイントの処理を少しすっきりさせ、使いやすく、更新しやすくすることができます。