Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【d3.js】javascriptで2次元配列の宣言をしたい

(元記事 2014/08/06)

1次元配列の宣言は

var dataset = [];

としておいて、あとで

dataset.push(1);

とかしてデータを追加していくことができる。

例えば、配列のサイズを10個固定
後からどんどん値を追加しつつ最古のデータを削除して行きたい場合は・・・
上に書いたdataset.push()とdataset.shift()を活用すれば良いだろう




今回困ったのは2次元配列の場合

javascriptはやったことがないので、場当たり的に解決していく段階・・・

■ 参考
[https://www.ipentec.com/document/javascript/javascript-declare-create-array:title=[JavaScript] 配列の宣言と作成]

//2次元配列のサイズを初期化
var datasize = 20;
var randmax = svgWidth;
var dataset = new Array(datasize);


for(var i=0; i< datasize; i++){
dataset[i] = new Array(datasize)
var dataset[i][0] = Math.floor(Math.random() * randmax);
var dataset[i][1] = Math.floor(Math.random() * randmax);
}

重要なのは
var dataset = new Array(datasize);

dataset[i] = new Array(datasize)


わかってみれば特に難しくなくて、C言語と同じように配列を2重に宣言すれば良いだけ