2017-08-28 29 views
1

問題: 空白で区切られた数字の一覧を求めるプロンプトを作成します。プログラムに偶数だけを含む新しいリストを印刷させます。偶数のみを出力する

入力を(配列)に変換します。多くの言語では、指定された区切り文字に基づいて文字列を分割する組み込み関数を使用して、文字列を簡単に配列に変換できます。 独自のアルゴリズムを記述します。言語のビルトインフィルタや同様の列挙機能に依存しないでください。 "filterEvenNumbers"という関数を使用して、このロジックをカプセル化します。関数は古い配列を受け取り、新しい配列を返します。この上

すべての私のノート:

//global array 
    var arr = []; 

    var arr = prompt("Enter your numbers"); 
    // var eachNumber = arr.split(","); 
    var res = arr.split("");   
    console.log(arr); 
    console.log(res); 


    if(res =) 

    // var str = "How are you doing today?"; 

    //push elements into array 
    // arr.push(prompt("Enter in a bunch of numbers", "")); //push input to array 
    // console.log(arr); 

    // https://stackoverflow.com/questions/28252888/javascript-how-to-save-prompt-input-into-array 
    // var arr = prompt("Enter your numbers").split(","); 
    // console.log(arr); 
    // var arr = []; 
    // for(var i = 0; i < 10; i++) 
    // arr.push(prompt("Enter a number"); 




    // Convert number into array in Javascript 
    // https://stackoverflow.com/questions/20730360/convert-number-into-array-in-javascript 
    // var numbers = "1, 2, 3"; 
    // var eachNumber = numbers.split(","); 
    // /* now parse them or whatso ever */ 
    // console.log(eachNumber); 




// JavaScript Array filter 
// http://www.diveintojavascript.com/core-javascript-reference/the-array-object/array-filter 
// The JavaScript Array filter method iterates over each value of an array passing it to a callback function. 
// If the callback function returns true, the current value is then pushed into the resulting array. 
// The callback function is invoked with three arguments: the value of the element, the index of... 
// the element and the Array object being traversed.   

// Bellow is an example of filtering odd and even numbers out of an array: 
    // var arr = [1, 2, 3, 4, 5]; 
    // var odd = arr.filter(function(val) { 
    //  return 0 != val % 2; 
    // }); 
    // // odd = [1, 3, 5] 
    // var even = arr.filter(function(val) { 
    //  return 0 == val % 2; 
    // }); 
    // even = [2, 4] 
    // console.log(even); 

// The Array filter method can also be used to remove empty, null or undefined elements from an array: 

    // var arr = [0, null, 42, undefined, "", true, false, NaN, "", "foo bar"]; 
    // var filteredArr = arr.filter(function(val, num) { 
    //  return !(val === "" || typeof val == "undefined" || val === null); 
    // }); 
    // // // filteredArr = [0, 42, true, false, NaN, "foo bar"] 

    // console.log(filteredArr); 
+0

Ok ...だから問題はどこですか?何を試しましたか? – Dekel

+2

あなたの宿題はここにはありません。 – Ronnie

+1

これは宿題のようにひどく見えます。必要なロジックを自分で実装するときに刺すのではなく、困ったときは助けを求めてください。あなたは決して知らないでしょう、多分あなたは何かを学ぶでしょう。 – Dan

答えて

4
var a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 
b = []; 

for (var i = 0; i < a.length; ++i) { 
if ((a[i] % 2) === 0) { 
    b.push(a[i]); 
} 
} 

これが見つけ、別の配列に偶数番号をプッシュアレイの例です。あなたは簡単にそれを変更することができます、そして、それは別の配列にプッシュしませんが、代わりに偶数を印刷します。それはあなたの問題を解決するのに役立ちます

0

あなたが理解していない質問の部分はありますか?何が問題になっていますか?

ユーザーの入力を求めるにはwindow.prompt('Enter a list of numbers separated by spaces'); このようにユーザー入力を受け取る方法では文字列が返されます。あなたは、組み込みのリストにこれを回すための方法を使用することはできませんので、あなたが取ることができる一つの方法は次のとおりです。

  1. ストア文字列の各文字を通じて
  2. 変数反復へのユーザー入力。文字列中の現在の数字の数字を保持する変数currentIntegerを定義してください(数字は1桁よりも長くなる可能性があるので、文字列を反復するときにあなたの現在の数字は1文字で表されないかもしれませんあなたが一度スペースに達すると、currentIntegerが完了したことを知っていれば、それが偶数の整数であれば新しいリストに追加します。

あなたのcurrentInteger変数は文字列なので、parseInt()を使用して数値にし、それが偶数であるかどうかを確認する必要があります。

関連する問題