Найти в Дзене
Intern Fronted на JS

Задачка про два багажа - решил за 15 минут через JS

После задачки, которую я решал целый час, эту я решил за 15 минут. Если интересно - часовая задача ТУТ И-так, условие примерно такое: У человека имеется чемодан, но в него все вещи не влазят. Поэтому он хочет переложить часть вещей во второй чемодан и нам надо заполнить второй массив списком вещей на перенос. У нас есть массив с названиями: var luggage = ['трусы', 'носки', 'штаны', 'рубашка', 'бритва', 'пена', 'документы']; А также у нас есть: Итого мы имеем: var luggage = ['трусы', 'носки', 'штаны', 'рубашка', 'бритва', 'пена', 'документы'];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = []; Тут на самом деле все очень просто. Будем использовать функцию .push ,которая будет добавлять объект в конец нового массива. Шаг 1. И единственный. Решение тут простое и через цикл. Сразу покажу написанный код и объясню, что и куда: for (i = startIndex; chosenLuggage.length < quantity; i++) { chosenLuggage.push(luggage[i]);
}
console.log(chosenLuggage); И так, задаем цикл. Значение "i

После задачки, которую я решал целый час, эту я решил за 15 минут. Если интересно - часовая задача ТУТ

И-так, условие примерно такое:

У человека имеется чемодан, но в него все вещи не влазят. Поэтому он хочет переложить часть вещей во второй чемодан и нам надо заполнить второй массив списком вещей на перенос. У нас есть массив с названиями:

var luggage = ['трусы', 'носки', 'штаны', 'рубашка', 'бритва', 'пена', 'документы'];

А также у нас есть:

  • Индекс элемента, с которого нужно начинать добавлять багаж (включая этот элемент), записан в переменную startIndex.
  • Количество элементов, которые нужно взять с собой записано в переменную quantity.
  • Изначальный массив с багажом записан в переменную luggage.
Итого мы имеем:
var luggage = ['трусы', 'носки', 'штаны', 'рубашка', 'бритва', 'пена', 'документы'];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

Тут на самом деле все очень просто. Будем использовать функцию .push ,которая будет добавлять объект в конец нового массива.

Шаг 1. И единственный. Решение тут простое и через цикл. Сразу покажу написанный код и объясню, что и куда:

for (i = startIndex; chosenLuggage.length < quantity; i++) { chosenLuggage.push(luggage[i]);
}
console.log(chosenLuggage);

И так, задаем цикл. Значение "i" равно startIndex - больше для удобства. Далее условие: цикл повторяется до тех пор пока длина нового массива (chosenLuggage.length) меньше количества необходимых вещей для добавления (quantity). Если условие выполняется, то после цикла "i" увеличивается на 1 пункт.
Действия в цикле: Добавить в конец нового массива (chosenLuggage.puch) элемент под определенным индексом (luggage[i]). После того, как цикл завершится, вывожу в консоль все элементы нового массива (concole.log(chosenLuggage));

Вот и все. Весь код целиком:

var luggage = ['трусы', 'носки', 'штаны', 'рубашка', 'бритва', 'пена', 'документы'];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];
for (i = startIndex; chosenLuggage.length < quantity; i++) {
chosenLuggage.push(luggage[i]);
}
console.log(chosenLuggage);

Может вы знаете другой способ решения? Или есть что сказать? Жду в комментарии. И спасибо, если поставите лайк - буду разбирать и другие.