var a = new Array();
a[0] = new Array(); //配列の各要素が
a[1] = new Array(); //それぞれ配列
a[1][3] = 4; //配列にアクセスできる
a[2][2] = 5; //これはエラー
次の例は、
ai,j = ai-1,j + ai,j-1
ai,0 = i a0,j = j
を解いたものです。
function test4(form) {
var a, i, j;
a = new Array(10); //長さ10の配列を作る
for(i = 0; i < 10; i++) //各々の要素に配列を割り当てる
a[i] = new Array(10);
for(i = 1; i < 10; i++)
a[i][0] = i;
for(j = 1; j < 10; j++)
a[0][j] = j
for(i = 1; i < 10; i++)
for(j = 1; j < 10; j++)
a[i][j] = a[i-1][j] + a[i][j-1];
form.text1.value = "" + a[9][9];
}
a = new Array("さくら", "知世", "ケロちゃん");
form.text1.value = a[0]; //"さくら"と表示
a.length は3となります。
a = ["さくら", "知世", "ケロちゃん"];
詳しくは、こちら。
function test2(form) {
var a, sztmp;
sztmp = form.text1.value;
a = sztmp.split(","); //カンマ区切りで配列にする
a.sort(); //昇順でソート
a.reverse(); //配列の並びを逆転
form.text1.value = a.join(); //配列をカンマで繋げて表示する
}
テキストボックスに数字をカンマ区切りで入力してボタンを押してください。
数字がカンマ区切りで降順に並べられます。
var a = new Array(5, 2, 3);
a.sort(); //昇順にソート
alert(a[0] + "," + a[1] + "," + a[2]);
上の例は引数を省略した時です。
Cのqsortと同様に配列の要素を比較する関数を引数に指定することも可能です。
function test3(form) {
var p, i;
p = new Array(6);
p[0] = new Person("さくら", 30);
p[1] = new Person("知世", 100);
p[2] = new Person("小狼", 99);
p[3] = new Person("千春", 90);
p[4] = new Person("奈緒子", 90);
p[5] = new Person("利佳", 95);
p.sort(cmp_point); //pointでソートする
//名前だけの配列を作って表示する
q = new Array(6);
for(i = 0; i < 6; i++)
q[i] = p[i].name;
form.text1.value = q.join();
}
function Person(name, point) {
this.name = name;
this.point = point;
}
//pointを比較する関数
function cmp_point(a, b) {
return b.point - a.point;
}
point の大きい人の名前から順に並べられます。| 返す値 | 並び |
|---|---|
| 負 | a b |
| 0 | 不変 |
| 正 | b a |
a = new Array("ウィンディ", "ウッド", "ジャンプ");
a.reverse();
form.text1.value = a.join(); //"ジャンプ,ウッド,ウィンディ"
・ join
a = new Array(1, 2, 3);
form.text1.value = a.join(" ほえ "); //"1 ほえ 2 ほえ 3"
引数の文字列で配列を繋げて文字列にします。
引数が省略された場合はカンマ(",")で繋がります。