CodeStudy javascript編 SECTION18 答え
<問題1> 実行ボタンを押して、argumentsの動作を確認しましょう。
CodeStudy18-1 答え: 実行ボタン押すだけ
<問題2> 説明文の例を入力し、argumentsの動作を確認しましょう。
CodeStudy18-2 答え: 例を写すだけ
<問題3> 関数checkが定義されています。
check内のif文により、引数が3つ以外の際は、outputで”引数が3つではありません。”と出力させましょう。
CodeStudy18-3 答え:
function check(x, y, z) { for(var i = 0; i < arguments.length; i++){ if(this.length != 3) { output("引数が3つではありません。"); break; } } } check(1, 2, 3, 4);
<問題4> 渡した引数のうち、最大のものを返す関数maxを作成しましょう。
CodeStudy18-4 答え: 正解は多数
//まず関数maxを定義します。 function max() { //最大値を代入する変数result var result = 0; //for文を使いましょう。 for(var i=0; i < arguments.length ; i++){ //if文で最大かどうかしらべましょう。 if(arguments[i] > result) { result = arguments[i] } } return result; } var maxValue = max(8, 100, 20, -6, 8000, 29, 68); output(maxValue);
<問題5> 説明文の例を入力し、無名関数の書き方を練習しましょう。
CodeStudy18-5 答え: 例を写すだけ
<問題6> makeArrayには、引数のうち正の値だけ配列に格納する関数が代入されています。 関数が正常に動くように直して下さい。
CodeStudy18-6 答え:
var makeArray = function() { //引数を格納する空の配列を定義します。 var result = []; for(var i = 0; i < arguments.length; i++) { //配列に格納する関数処理を書きましょう。 //配列への格納にはpush()を使用しましょう。 if (arguments[i] > 0) { result.push(arguments[i]); } } return result; } var resultArray = makeArray(1, -9, 67, 3, -21); output(resultArray);
無名関数と即時関数 [JavaScript] 猿でもわかるクロージャ超入門
<問題7> 与えられた引数の平均を返す無名関数を作成し、変数aveに代入しましょう。
また、その結果をaveResultに代入し、それをoutput()で出力して下さい。
CodeStudy18-7 答え:
var ave = function(){ var result = 0; for(var i = 0; i < arguments.length; i++){ result += arguments[i]; } return result / arguments.length; //配列の長さで割る } var aveResult = ave(1, -5, 3, 8, -40, 200); output(aveResult);