2011-12-26 2 views
-3

Скажите, что у меня есть вход, состоящий из 30 чисел, и я хочу, чтобы 1, 5, 10, 15 и т. Д. Все в одном выходе. Как мне это сделать?Javascript - возьмите каждое пятое число из списка входных данных

+2

Просьба привести пример формы ввода (данные HTML или Javascript). – jfriend00

+0

Что такое «ввод»? '' 12 123 123 "', '[1, 2, 34, 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 для присоединения вывода с одним пробелом. Затем присвойте результат переменной.

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

kojiro - огромное спасибо за помощь, просто медведь со мной, так как я немного неопытен с этой функцией как переменная вещь. Я полагаю, что val, idx и arr являются аргументами, но что вы с ними делаете? Кроме того, что такое выход? как я могу поместить его в переменную? – jamesson

+0

Большинство методов итерации для массивов принимают три аргумента: текущее значение для этой итерации, текущий индекс для этой итерации и весь массив. Вы можете называть их чем угодно, но я думаю, что val, idx, arr, является хорошим компромиссом между ядром и удобочитаемостью. Вам не обязательно использовать все или любые из них. В этом примере я использую только val. Что касается ввода вывода в переменную, я отредактирую приведенное выше, чтобы продемонстрировать. [Дополнительная информация в MDN] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter). – kojiro

+0

еще раз, спасибо тонны за помощь. Теперь, если бы я хотел обработать значение итератора в качестве пользовательского ввода, то есть позволить пользователю выбрать 6, 7, 8 и т. Д.? Еще раз спасибо – jamesson

Смежные вопросы