40回目授業内容 String(JavaScript)〜Array〜脱線
[授業][JavaScript]
String(JavaScript)
- 文字を縦に並べる
<script> var i; var str2 = new String('文字列を1文字ずつ取り出す'); for(i = 0; i <= (str2.length - 1); i++ ) { document.write('<h2>', str2.charAt(i), '</h2>'); } </script>
Array
- 一部のデータを取り出し表示
<script> var names = new Array(4); names[0] = '山田太郎'; names[1] = '鈴木一郎'; names[2] = '佐藤花子'; names[3] = '田中健一'; document.write('<h2>こんにちは', names[0], 'さん</h2>'); document.write('<h2>こんにちは', names[3], 'さん</h2>'); </script> -配列を使うと処理が簡単(&for文) >|html| <script> var names = new Array(4); names[0] = '山田太郎'; names[1] = '鈴木一郎'; names[2] = '佐藤花子'; names[3] = '田中健一'; for(var i = 0; i <= (names.length - 1); ++i) { document.write('<h2>こんにちは', names[i], 'さん</h2>'); } </script>
- Arrayコンストラクタ
<img src="http://tqs.jp/hatena_img/130116/003.jpg" width="550px"> <script> var a = new Array(3); var b = new Array(3); var kai; a[0] = 5; a[1] = 12; a[2] = 18; b[0] = 33; b[1] = 14; b[2] = 65; function kakezan0() { kai = a[0] * b[0]; alert('答えは' + kai + 'です。'); } function kakezan1() { kai = a[1] * b[1]; alert('答えは' + kai + 'です。'); } function kakezan2() { kai = a[2] * b[2]; alert('答えは' + kai + 'です。'); } </script> <style> tabule { border-collapse: collapse; } th { background-color: #eee; } th, td { width: 100px; text-align: center; } </style> </head> <body> <h3>配列の演算</h3> <table> <tr> <th>添字</th> <th>a</th> <th>b</th> <th>axbを計算</th> </tr> <tr> <th>0</th> <td>5</td> <td>33</td> <td><button onClick="kakezan0()">計算結果</button></td> </tr> <tr> <th>1</th> <td>12</td> <td>14</td> <td><button onClick="kakezan1()">計算結果</button></td> </tr> <tr> <th>2</th> <td>18</td> <td>65</td> <td><button onClick="kakezan2()">計算結果</button></td> </tr> </table> </body>
- lengthプロパティとfor文
var i; var dayOffWeek = new Array(7); var len = dayOffWeek.length; dayOffWeek[0] = '日曜日'; dayOffWeek[1] = '月曜日'; dayOffWeek[2] = '火曜日'; dayOffWeek[3] = '水曜日'; dayOffWeek[4] = '木曜日'; dayOffWeek[5] = '金曜日'; dayOffWeek[6] = '土曜日'; for(i = 0; i < len; i++){ document.write(dayOffWeek[i], '<br>'); } </script>
- 表品数×価格の表
<style> table { border-collapse: collapse; } th { background-color: #eee; width: 80px; padding: 5px; } td { width: 80px; text-align: right; padding: 5px 8px; } </style> </head> <body> <h3>単価×個数の一覧表</h3> <table border="1"> <tr> <th>個数</th> <th>商品A</th> <th>商品B</th> <th>商品C</th> </tr> <script> var tanka = new Array(3); tanka[0] = 300; tanka[1] = 450; tanka[2] = 520; for(i=1; i<=10; i++){ document.write('<tr>'); document.write('<th>' + i + '</th>'); for(j=0; j<=2; j++) { document.write('<td>' + tanka[j]*i + '</td>'); } document.write('</tr>'); } </script> </table> </body>
- 曜日を日本語で表示する
<script> var days = new Array('日','月','火','水','木','金','土'); var date = new Date(); var day = days[date.getDay()]; document.write('<h1>今日は', day, 'です。</h1>'); </script>
- 1年後の曜日を表示
<script> var days = new Array('日','月','火','水','木','金','土'); var date = new Date(); date.setFullYear(date.getFullYear() +1); document.write('<h1>1年後は', days[date.getDay()],'曜日</h1>'); </script> -合わせ技 <img src="http://tqs.jp/hatena_img/130116/008.jpg" width="550px"> >|html| <script> var days = new Array('日','月','火','水','木','金','土'); var date = new Date(); var day = days[date.getDay()]; document.write('<h1>'); document.write('今日は', date.getDate(), '日で', day, '曜日です。'); document.write('</h1>'); date.setFullYear(date.getFullYear() +1); document.write('<h1>1年後は', days[date.getDay()],'曜日です。</h1>'); </script>
- 要素をsortメソッドで並び替える
<script> function compare(a, b){ return a - b; } </script> </head> <body> <h3> <script> var ages = new Array(8, 10, 50, 24, 3, 5, 28, 35); ages = ages.sort(compare); document.write(ages.join(' > ')); </script> </h3> </body>