2011-12-26 11 views
-3

30個の数字からなる入力があり、1番目、5番目、10番目、15番目などを1つの出力にしたいとします。どうすればいい?あなたの入力を想定しJavascript - 入力リストから5番目ごとに数字を入力

+2

入力内容(HTMLまたはJavascriptデータ)の例を示してください。 – jfriend00

+0

「入力」とは何ですか? '' 12 123 123 ''、 '[1,2,3,4,5]'、または...? –

+0

何をしようとしているのかを特定するコードが役立ちます。また、入力形式はどのようになっていますか?そこから、私たちは入力を得ています。 – Virendra

答えて

1

が配列として表現することができ、この最も簡単な解決策はArray.filterメソッドを使用することです:

var filterNotMultFive = function(val, idx, arr) { return !(val % 5); }; 
inputArray.filter(filterNotMultFive); 

警告:あなたの質問に基づいて、私はあなたが、ないをテストすることを意味すると仮定インデックス。あなたはインデックスをしたい場合は、

var filterIdxNotMultFive = function (val, idx, arr) { return !(idx % 5); }; 

を使用し、私はまた、あなたがゼロ次、まずないで開始することを意味すると仮定します。

編集:上記のコメントのスペースで区切られた入力に基づいて、出力をスペースで区切りたい場合は、array.joinメソッドを使用して1つの空白で出力を再結合してください。次に、結果を変数に代入します。

var outputDelimitedBySpaces = inputDelimitedBySpaces.split(/\s+/).filter(filterNotMultFive).join(" "); 
+0

kojiro - たくさんの助けてくれてありがとう。ちょっと変わったこととして、この機能を少し経験していないので、ちょっと待ってください。私はval、idx、arrが議論であると仮定しますが、あなたはそれらで何をしていますか?また、出力は何ですか?私はどのように変数に入れますか? – jamesson

+0

配列の反復メソッドの大部分は、3つの引数をとります。その反復の現在の値、その反復の現在のインデックス、および配列全体。あなたは好きなものを呼び出すことができますが、私はval、idx、arrが詩と読みやすさとの間の良い妥協であると思います。あなたはそれらのすべてまたはいずれかを使う必要はありません。この例ではvalだけを使用しています。出力を変数に入れる限り、私は上記を編集してデモンストレーションします。 [MDNの詳細情報](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Array/filter) – kojiro

+0

もう一度、ありがとうございました。今、私はイテレータの値をユーザの入力として扱いたいと思っていました。つまり、ユーザが6th、7th、8thなどを選択できるようにしたいのですか? ありがとうございました – jamesson

関連する問題