#javascript #loops
#javascript #циклы
Вопрос:
итак, у меня следующая проблема (на картинке), и выше то, что я пробовал до сих пор. В принципе, я не знаю, как правильно сделать определенную вещь, если индекс итерации равен нечетному числу, я пробовал некоторые вещи, но они не работают.
const journey = arr =>{
let cost = Number(arr[0]);
let months = Number(arr[1]);
let currentMoney = 0;
let suveniri = cost - currentMoney;
for(let i = 0; i < months; i ){
currentMoney = cost * 0.25;
if(i > 1 amp;amp; i % 3 == 0){
currentMoney * 0.84;
}
if (i amp;amp; (i % 4 === 0)){
currentMoney * 1.25;
}
}
if(suveniri < 0){
console.log(`Bravo! You can go to Disneyland and you will have ${suveniri}lv. for souvenirs.`)
}
else if(suveniri > 0){
console.log(`Sorry. You need ${suveniri}lv. more.`);
}
}
journey([ '1000', '4' ]);
Комментарии:
1. Просто …
i%2 == 1
, это не магия вуду. Однако вам нужно присвоить результатcurrentMoney * (1-0.16)
чему-то.
Ответ №1:
Четное число должно делиться на 2
без остатка и целое число в результате.
i % 2 === 0 // Even.
А нечетное число, ну, не является четным числом. Поэтому проверка того, что число не является четным, сделает свое дело.
i % 2 !== 0 // Odd.
Каждая вторая итерация, как и каждая четвертая, может быть определена таким же образом, проверяя, является ли остаток 0
.
Поскольку вы используете его в цикле, вы начинаете считать a 0
, и на четвертой итерации индекс будет равен значению 3
. Так что это меняет логику. Добавьте 1
к каждому индексу, чтобы начать отсчет 1
, что решит смещение.
(i 1) % 4 === 0 // Every fourth.
Комментарии:
1. Как насчет каждой четвертой итерации, чтобы что-то сделать?
2. используйте i%4 === 0 в течение четвертого месяца