@junior81

Функции высшего порядка. Обработка массива?

function f1(arr, foo) {
  let str2 = 'New value:';

  for(let i = 0, len = arr.length; i < len; i++){
     str2 += foo(arr[i]);
  }

  return str2;
}

function f2(part) {
    return `${part[0].toUpperCase()}${part}`;
}

Всем привет. Подскажите как второй функции получить из массива строк, строки с 2 символа.
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
evgeniy8705
@evgeniy8705
Повелитель вселенной
const foo = (str, arr, cb) => str + arr.map(item => cb(item)).join(" ");
const capitalize = str => str.charAt(0).toUpperCase() + str.slice(1);

console.log(foo("New value: ", ["apple", "orange", "pear"], capitalize)); // New value: Apple Orange Pear

const foo = (str, arr, cb) => str + arr.map(item => cb(item, 1)).join(" ");
const substring = (str, start) => str.slice(start); // Получение строки с start (в частности со второго) символа

console.log(foo("New value: ", ["apple", "orange", "pear"], substring)); // New value: pple range ear

const foo = (str, arr, cb) => str + arr.map(item => cb.call(item, 1)).join(" ");

console.log(foo("New value: ", ["apple", "orange", "pear"], String.prototype.slice)); // New value: pple range ear

const foo = (str, arr) => str + arr.map(item => item.slice(1)).join(" ");
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Кажется, я смог догадаться что вы хотите от f2:
function myCapitalize(str) {
  return str.charAt(0).toUpperCase() + str.substring(1);
}

console.log(myCapitalize('hello world'))
 // -> Hello world

Но понять что делает f1 не имея примера входных данных я не могу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы