Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Задача на javascript  (Прочитано 28943 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Gor
Постоялец

ru
Offline Offline

« : 13-01-2022 18:38 » 

Доброе время суток!

Не выходит задача, не подскажите как "победить" её:

Напишите функцию values(f, low, high), которая возвращает массив значений функции [f(low), f(low + 1), ..., f(high)].
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 13-01-2022 19:26 » 

Доброе время суток!

Не выходит задача, не подскажите как "победить" её:

Напишите функцию values(f, low, high), которая возвращает массив значений функции [f(low), f(low + 1), ..., f(high)].

Что делали?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Gor
Постоялец

ru
Offline Offline

« Ответ #2 : 14-01-2022 08:25 » 

В функции values(f, low, high) создавал другую функцию, присваивал её переменной f. Затем в цикле пытался поместить функции f(low), f(low + 1) и т.д. в массив arr = [].
Пытался использовать map()... в общем разные вариации, код не сохранил, писал в консоли гуглхрома.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 14-01-2022 21:25 » 

а типа
array.push?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Gor
Постоялец

ru
Offline Offline

« Ответ #4 : 18-01-2022 17:48 » 

Делаю так, не выходит:

Код: (Javascript)
function values(f, low, high) {
  let arr = []
  for(let i = 0; i < 3; i++)
  {
     arr.push(f(low + i));
  }
  return arr;
}
console.log(values)
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 18-01-2022 19:53 » 


* Screenshot_36.png (4.5 Кб - загружено 657 раз.)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Gor
Постоялец

ru
Offline Offline

« Ответ #6 : 19-01-2022 13:17 » 

Надо именно из values(f, low, high) получить [f(low), f(low + 1), ..., f(high)]
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 20-01-2022 09:04 » 

Надо именно из values(f, low, high) получить [f(low), f(low + 1), ..., f(high)]
Я вам показал принцип!!!
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Gor
Постоялец

ru
Offline Offline

« Ответ #8 : 20-01-2022 13:36 » 

Спасибо
Записан
InThPa
Новенький

ru
Offline Offline

« Ответ #9 : 06-04-2022 07:34 » new

function values(f, low, high) {
//1. создаем массив из чисел с границами low и  high переданные как аргументы
  let result = [];
  for (let i = low; i <= high; i++) {
    result.push(i);
  }
//2. возвращаем новый массив, уже с переданной функцией в аргументе которая преобразовывает каждый элемент массива в зависимости от ее задачи
  return result.map((el) => f(el));
}

//пример функции
function test(value) {
  return value + 3
}

console.log(values(test, 10, 16)); //[13, 14, 15, 16, 17, 18, 19]
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines