функция которая имеет любое кол-во аргументов и возращает определённого типа
Мне надо написать функцию filterByType, которая принимает любое кол-во аргументов:
• первый аргумент — это тип данных (number, string или boolean), по которому нужно отфильтровать следующие аргументы (2 и далее) • аргументы, начиная с 2 и далее — любые значения • функция должна возвращать массив с теми аргументами, которые соответствуют типу данных, переданному в первом аргументе Пример вызова: filterByType ('string', 10, 20, ‘a’, ‘b’, true, false); // возвращает массив [‘a’, ‘b'] |
Псевдомассив аргументов "arguments"
Ну или в явном виде принимать массив: filterByType ('string', [10, 20, ‘a’, ‘b’, true, false]); |
melnikov24,
function filterByType() { [type, ...arr] = arguments; return arr.filter(e => typeof e == type) } let obj = filterByType ('string', 10, 20, 'a', 'b', true, false); alert(JSON.stringify(obj)); |
рони, Зачем такие извращения?)
function filterByType(type, ...arr){ return arr.filter(e => typeof e === type) } let obj = filterByType ('string', 10, 20, 'a', 'b', true, false); alert(JSON.stringify(obj)); |
Aetae,
:) ок, спасибо! |
Цитата:
|
function filterByType(type, ...args) { return args.filter(function(arg) { return typeof(arg) === typeof(type) }) } alert(filterByType( 'string', 10, 20, 'a', 'b', true, false)); |
SoundMind,
:-? |
Часовой пояс GMT +3, время: 19:13. |