Я пишу цикл for, который должен поместить не более трех элементов в массив «мешок», и использовать «разрыв», чтобы выйти из цикла, когда «мешок» заполнен указанными тремя элементами. Пока что мой код проходит три из четырех тестов. Проблема, с которой я сталкиваюсь, заключается в том, что для четвертого теста, который должен быть там, где код «разрывается» и цикл перестает работать, вместо этого четвертый элемент помещается в мой массив «мешок». Если «мешок» не заполнен, мне нужно пройти «куклы» до последнего элемента.
Я совсем новичок, и я пробовал пару разных вещей, но я не могу понять, что я делаю неправильно. Код у меня ниже.
function grabDoll(dolls){
var bag=[];
//coding here
for (let i = 0; i < dolls.length; i++) {
if (dolls[i] == 'Hello Kitty' || dolls[i] == 'Barbie doll') {
bag.push(dolls[i])
} else if (dolls[i] == '') {
continue;
} else if (bag.length - 1 === 2) {
break;
} else continue;
}
return bag;
}
else if
будет проверять более поздние условия только в том случае, если более ранние не совпали. (И нет причин использоватьbag.length -1 === 2
вместоbag.length === 3
. Вам также не нуженelse continue
, цикл будет продолжаться без предложенияelse
.) - person T.J. Crowder   schedule 16.03.2021for (let i = 0; i < dolls.length && bag.length < 3; i++) {
- person epascarello   schedule 16.03.2021