Собираемся в отпуск

Всем привет.

Я вот честно вообще не понимаю зачем некоторые пишут решения с помощью .splice, .map и подобных инструментов. Мне кажется цель курса, развить гибкость ума и мышление. Появляется вопрос, если этого не было пройдено, зачем такое выкладывать? Если такие умные, то что вы делаете на “этой ступени” обучения?
Вот моё решение, с использованием знаний конкретно по этой теме:

var luggage = ['пакет', 'мяч', 'тапки', 'когтеточка', 'коробка', 'миска', 'мята'];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

for ( var i = 0; i <= quantity -1; i++) {
  chosenLuggage[i] = luggage[startIndex + i]
}
2 лайка

ну если ребенку дать кубик и шарик - из него архитектора не выйдет :joy:
посмотрите на других и изучите новые методы, если они вам неизвестны (когда освоите ванильные алгоритмы через циклы и пр.).
JS на самом деле в десятки раз сложнее того, что предлагается на курсах

P.S. А еще как крутой разработчик вы можете освоить markdown и прикладывать код, а не скриншоты

1 лайк

Я считаю вы чётко подметили, буду набираться опыта и когда ни будь так же мастерски смогу апеллировать крутыми терминами и снизойдет на меня “таинство” освоения markdown. Хорошего дня :wink:

2 лайка

ну это прост основа для коммерческой разработки, всякие комменты к коммитам на гите на markdown написаны, ничего сложного в этом нет, он даже тупо вшит в форум, это весь его функционал практически тут реализован с помощью кнопочек редактирования текста над полем ввода

1 лайк

Как видите у меня получилось использовать принципы markdown и cкрин я убрал с этого поста и вставил JS код. Так что как минимум вы сподвигли меня поискать и почитать полезную информацию за это вам

console.log(БЛАГОДАРНОСТЬ)

Может подскажите заодно как “выпадающие” комменты на форуме оставлять? Ну так… Чисто чтоб меня вообще разорвало сегодня? :thinking:

Похоже я решение сильно замудрил!?

for(var i = startIndex; i<=luggage.length-1; i++){
if(i >= quantity+startIndex){
break;
}
else if(luggage.length>=i){
chosenLuggage.push(luggage[i]);

}
}
console.log(chosenLuggage);

ну чаще всего break, это костыль, который можно вынести в предикат (средний параметр функции for(;предикат;) {...}

ну выпадающие хз, могу ток подсказать как делать спойлер

неймплейт спойлера

Этот текст будет скрыт

[details="неймплейт спойлера"]
Этот текст будет скрыт
[/details]

У меня вышло такое решение,в задании было указано про добавление элементов через push, с ним и решал.

var luggage = [‘пакет’, ‘мяч’, ‘тапки’, ‘когтеточка’, ‘коробка’, ‘миска’, ‘мята’];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

for (var i = startIndex; i <= luggage.length-1; i++)
{
if ( chosenLuggage.length < quantity) {
chosenLuggage.push(luggage[i]) ;}
chosenLuggage
}

for (var i = 0; i < quantity; i++) {
chosenLuggage.push(luggage[startIndex + i])
}

Мое решение

1 лайк

var luggage = [‘пакет’, ‘мяч’, ‘тапки’, ‘когтеточка’, ‘коробка’, ‘миска’, ‘мята’];
var startIndex = 2;
var quantity = 3;
var quanInd=startIndex+quantity;
var chosenLuggage = [];
for (var i=startIndex;i<=quanInd-1;i++){
chosenLuggage.push(luggage[i]);
}

Ещё вариант.

var luggage = [‘пакет’, ‘мяч’, ‘тапки’, ‘когтеточка’, ‘коробка’, ‘миска’, ‘мята’];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

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

var luggage = [‘пакет’, ‘мяч’, ‘тапки’, ‘когтеточка’, ‘коробка’, ‘миска’, ‘мята’];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

for (var i = startIndex ; i <= luggage.length - 1; i++) {
if (quantity > 0){
quantity–
chosenLuggage.push(luggage[i]);
}
}

смотрю многие решали задачу через цикл for, а у меня получилось решение через while

var luggage = [‘пакет’, ‘мяч’, ‘тапки’, ‘когтеточка’, ‘коробка’, ‘миска’, ‘мята’];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

while(quantity > 0){
chosenLuggage.push(luggage[startIndex]);
startIndex++;
quantity–;
}
console.log(chosenLuggage)

Добрый день. Почему- то не проходят проверки если объявить переменную i в цикле с помощью let. Наверное это не критично, но я какое-то время потратил чтобы понять в чём дело. Возможно если пофиксить кому-то поможет.

var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

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

console.log(chosenLuggage)

Читер ))

var luggage = ['пакет', 'мяч', 'тапки', 'когтеточка', 'коробка', 'миска', 'мята'];
var startIndex = 2;
var quantity = 3;
var chosenLuggage = [];

for(var i = startIndex; i <= startIndex + quantity - 1; i++){
    chosenLuggage.push(luggage[i]);
}

Это задание заставило подумать меня, не понимал почему один вариант срабатывает другой нет, потом дошло что startIndex не может быть больше чем quantity, потому что к последнему у меня привязан счетчик. Вроде бы осознал, и понял что это мне ничего не дало. Начал думать как обнулить счетчик внутри цикла, придумывал разные формулы, в итоге дошел к тому что сделал счетчик внутри цикла и заменил им “родной”.

var luggage = [‘пакет’, ‘мяч’, ‘тапки’, ‘когтеточка’, ‘коробка’, ‘миска’, ‘мята’];
var startIndex = 4;
var quantity = 1;
var chosenLuggage = [];

var g = 1;
for(var i = startIndex; g <= quantity; i++){
g+=1
chosenLuggage.push(luggage[i]);
}
console.log(chosenLuggage);
З.Ы. “Очень интересно” смотреть на функции в коде некоторых людей, которые еще не были пройдены на этом этапе обучения. Мне кажется логика этих испытаний в том, что бы “выкрутиться” и решить задание с тем набором знаний который был дан ранее. Жду критику и обсуждение.

for(var i=startIndex, j=1; i<=quantity.length-1, j<=luggage.length; i++,j++){
chosenLuggage.push(luggage[i]);
if(j===quantity){break;}
;}

console.log(chosenLuggage);

мой вариант
var luggage = ['пакет', 'мяч', 'тапки', 'когтеточка', 'коробка', 'миска', 'мята']; var startIndex = 2; var quantity = 3; var chosenLuggage = [];

for (var i = 0; i < quantity; i++) {
chosenLuggage.push(luggage[startIndex + i]);
}