функция которая имеет любое кол-во аргументов и возращает определённого типа
Мне надо написать функцию 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, время: 04:00. |