Q:

JavaScript самая длинная комбинация из k строк идущих подряд.

Всем доброго времени суток, есть массив состоящий из строк к примеру
arr = ["zone", "abigail", "theta", "form", "libe", "zas"]

нужно создать функцию которая на основе данного ей массива выводила бы строку с самой длинной комбинацией строк идущих подряд, но кол-во строк ограничено в параметре функции. Пример : 
LongestConc(["zone", "abigail", "theta", "form", "libe", "zas"], 2) == "abigailtheta"

Тут как видно ограничение по строкам 2 , то есть если посчитать все длинны строк в массиве выходит [4,7,5,4,4,3]  ну и самая длинная комбинация из 2 выходит из чисел 7+5 = 12 то есть - abigailtheta. Вот еще пример:
LongestConc(["it","wkppv","ixoyx", "3452", "zzzzzzzzzzzz"], 3) == "ixoyx3452zzzzzzzzzzzz"

Так вот , я не могу придумать как это осуществить. Главная проблема что комбинация должна идти подряд, иначе , я бы уже сделал(просто отсортировав массив по длине строк и в зависимости от заданного числа, просуммировал бы строки в цикле).

A:

Как-то так, навскидку.

let arr = ["zone", "abigail", "theta", "form", "libe", "zas"];

function longestString(arr, k) {
  if (k > arr.length) {
    console.error('array is too short');
    return '';
  }
  let longest = '';
  for (let i = 0; i <= arr.length - k; i++) {
    let current = arr.slice(i, i + k).join('');
    if (current.length > longest.length) {
      longest = current;
    }
  }
  return longest;
}

console.log(longestString(arr, 2));
console.log(longestString(["it","wkppv","ixoyx", "3452", "zzzzzzzzzzzz"], 3));

