情報学部 菅沼ホーム 目次 索引

Array オブジェクト

[機能]

  配列の処理

[プロパティ]

  1. 配列.length  配列の要素数

[メソッド]

  1. 配列.concat(array1, array2, ・・・)  配列を結合し,その結果を返す.

  2. 配列.fill(k1, k2, v)  配列の要素 k1 から (k2-1) の値を v に設定する.

  3. 配列.filter(関数)  与えられた関数値が true になる要素からなる新しい配列を生成する.関数の引数は,対象となる要素,その要素の添え字(オプション),及び,対象となる配列(オプション)である.

  4. 配列.find(関数)  与えられた関数値が true になる要素を返す.関数の引数は,対象となる要素,その要素の添え字(オプション),及び,対象となる配列(オプション)である.

  5. 配列.findIndex(関数)  与えられた関数値が true になる要素の添え字を返す(存在しない場合は -1 を返す).関数の引数は,対象となる要素,その要素の添え字(オプション),及び,対象となる配列(オプション)である.

  6. 配列.includes(値)  特定の値を持つ要素が配列に含まれているかどうかを返す.

  7. 配列.indexOf(値)  特定の値を持つ要素を前から探して,最初に見つかったものの添え字を返す(存在しない場合は -1 を返す).

  8. 配列.join("区切り文字")  配列要素を区切り文字で連結し,その結果を返す.

  9. 配列.lastIndexOf(値)  特定の値を持つ要素を後ろから探して,最初に見つかったものの添え字を返す(存在しない場合は -1 を返す).

  10. 配列.pop()  配列の最後の要素を削除(戻り値は削除した値)

  11. 配列.push(e1, e2, ・・・)  配列の最後に要素に追加(戻り値は配列の長さ)

  12. 配列.reverse()  配列要素を逆順にする(配列自身が並べ替えられ,逆順にした結果が戻る)

  13. 配列.shift()  配列の最初の要素を削除(戻り値は削除した値)

  14. 配列.slice(n [, m])  配列内の n 番目から m 番目の要素を取り出し,その結果を返す.m を省略した場合は,最後までになる.

  15. 配列.sort(比較関数)  配列要素を並べ替える(配列自身がソートされ,ソートした結果が戻る).関数の引数は,比較する 2 つの値である.

  16. 配列.splice(start, n, e1, e2, ・・・)  start から n 個の要素を削除し,指定した要素で埋める

  17. 配列.toString()  配列を文字列に変換した結果を返す.

  18. 配列.unshift(e1, e2, ・・・)  配列の最初に要素を追加(戻り値は配列の長さ)

[使用例]

  1. プログラム(下がそのソースコード)は,Array オブジェクトのプロパティやメソッドの使用例である.

    <!DOCTYPE HTML>
    <HTML>
    <HEAD>
    	<TITLE>Array</TITLE>
    	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
    	<META NAME=viewport CONTENT="width=device-width, initial-scale=1">
    	<LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css">
    </HEAD>
    <BODY CLASS="white">
    	<H1 STYLE="text-align: center">Array オブジェクト</H1>
    	<SCRIPT TYPE="text/javascript">
    		document.writeln("<DL>");
    		let a = new Array (1, 3);
    		let b = new Array (5, 3);
    		let c = new Array (0, 6);
    		let x = c.concat(a, b);
    		document.write("<DT>a " + a[0] + " " + a[1] + " b " + b[0] + " " + b[1] + " c " + c[0] + " " + c[1]);
    		document.write("<DT>c に a, b を結合し x に代入(concat ): x の長さ " + x.length + " 値 " + x);
    		x.fill(0, 3, 6);
    		document.writeln("<DT>x[3] 以降の各要素の値を 0 に設定( fill ): x の値 " + x);
    		let y = x.join("/");
    		document.writeln("<DT>x を区切りで文字 / で連結し y に代入( join ): " + y);
    		x.unshift(10, 20);
    		x.push(-10, -20);
    		document.writeln("<DT>配列 x の最初に 10, 20,最後に -10, -20 を追加( unshift, push ): " + x);
    		x.shift();
    		x.pop();
    		document.writeln("<DT>配列 x の最初と最後の要素を削除( shift, pop ): " + x);
    		x.sort(comp);
    //		x.sort((a, b) => a - b);   アロー関数を使用したこの方法でも良い
    //		   (param1, param2, …, paramN) => { statements } 
    //		   (param1, param2, …, paramN) => expression
    //		       expression の部分は, { return expression; } でも良い
    //		       引数が 1 つの場合は () は省略可能
    		document.writeln("<DT>配列 x を昇順にソート( sort ): " + x);
    		x.reverse();
    		document.writeln("<DT>配列 x を降順にソート( reverse ): " + x);
    		y = x.slice(1, 7);
    		document.writeln("<DT>配列 x の添え字 1 から 6 を取り出し配列 y を生成( slice ): y = " + y);
    		y.splice(0, 3, 7, 7);
    		document.writeln("<DT>配列 y の最初の 3 個の要素を削除し,7 を 2 つ追加する( splice ): " + y);
    		let z = y.filter(k => k > 0);
    //		let z = y.filter(cond1);   // この方法でも良い
    		document.writeln("<DT>配列 y の正の要素だけからなる配列 z を生成( filer ): " + z);
    		x[5] = 1;
    		document.writeln("<DT>配列 x : " + x);
    		document.writeln("<DT>配列 x の内,5 より小さい要素( find ): " + x.find(k => k < 5));
    		document.writeln("<DT>配列 x の内,5 より小さい要素の添え字( findIndex ): " + x.findIndex(k => k < 5));
    		document.writeln("<DT>配列 x に 1 が含まれているか否か( includes ): " + x.includes(1));
    		document.writeln("<DT>配列 x において値が 1 である要素の添え字(前から)( indexOf ): " + x.indexOf(1));
    		document.writeln("<DT>配列 x において値が 1 である要素の添え字(後ろから)( lastIndexOf ): " + x.lastIndexOf(1));
    		document.writeln("<DT>配列 x を文字列へ変換( toString ): " + x.toString());
    		document.writeln("<DT>2 行 3 列の配列を定義する(初期設定)");
    		let aa = new Array(2);
    		aa[0] = new Array(10, 20, 30);
    		aa[1] = new Array(40, 50, 60);
    		document.writeln("<DD>let aa = new Array(2);</DD>");
    		document.writeln("<DD>aa[0] = new Array(10, 20, 30);</DD>");
    		document.writeln("<DD>aa[1] = new Array(40, 50, 60);</DD>");
    		document.writeln("<DD>  aa[1][0] は " + aa[1][0] + "</DD>");
    		document.writeln("</DL>");
    
    		function comp(a, b)
    		{
    			return (a - b);
    		}
    
    		function cond1(a)
    		{
    			let sw = false;
    			if (a > 0)
    				sw = true;
    			return sw;
    		}
    	</SCRIPT>
    </BODY>
    </HTML>
    			

情報学部 菅沼ホーム 目次 索引