Loop : while, for (challenge)

vancouver·2023년 5월 23일
0

javascript이해하기

목록 보기
10/22

While

let rep = 1;
while (rep <= 10) {
    console.log(`WHILE: Lifting weight reptition ${rep}`);
    rep++;
}

let dice = Math.trunc(Math.random() * 6) + 1;

while (dice !== 6) {
    console.log(`You rolled a ${dice}`);
    dice = Math.trunc(Math.random() * 6) + 1;
    if (dice === 6) console.log(`Loop is about to end....`);
}

for

const jang = [
    'Jang',
    'Hoon',
    2037 - 1998,
    'programmer',
    ['Michael', 'Peter', 'Steven']
];
const types = [];

for (let i = 0; i < jang.length; i++) {
    // Reading form jang Array
    console.log(jang[i], typeof jang[i]);

    // Filling types Array
    types.push(typeof jang[i]);
}
console.log(types);

const years = [1991, 2007, 1969, 2020];
const ages = [];

for (let i = 0; i < years.length; i++) {
    ages.push(2037 - years[i]);
}
console.log(ages);

continue,break

const jang = [
    'Jang',
    'Hoon',
    2037 - 1998,
    'programmer',
    ['Michael', 'Peter', 'Steven']
];

const types = [];

console.log(`---ONLY STRING----`);
for (let i = 0; i < jang.length; i++) {
    if (typeof jang[i] !== `string`) continue;

    console.log(jang[i], typeof jang[i]);
}

console.log(`---BREAK WITH NUMBER----`);
for (let i = 0; i < jang.length; i++) {
    if (typeof jang[i] === `number`) break;

    console.log(jang[i], typeof jang[i]);

backwarding loop

for (let i = jang.length; i >= 0; i--) {
    console.log(i, jang[i]);
}

Loop in Loop

for (let i = jang.length; i >= 0; i--) {
    console.log(i, jang[i]);
}

for (let exercise = 1; exercise < 4; exercise++) {
    console.log(`--------- Starting exercise ${exercise}`);

    for (let rep = 1; rep < 6; rep++) {
        console.log(`Lifting weight repetition ${rep}`);
    }
}

문제

  1. 테스트 청구서 값 10개를 모두 포함하는 '청구서' 배열을 만듭니다.
  2. 팁과 합계('tips' 및 'totals')에 대한 빈 배열을 만듭니다.
  3. 이전에 작성한 'calcTip' 함수를 사용하여 계산합니다(반복할 필요 없음).
    bills 배열의 모든 청구서 값에 대한 팁 및 총 값(청구서 + 팁). 에 사용
    10개의 계산을 수행하는 루프!
    테스트 데이터: 22, 295, 176, 440, 37, 105, 10, 1100, 86 및 52

힌트: 루프에서 'calcTip'을 호출하고 푸시 방법을 사용하여
팁 및 합계 배열

보너스 문제
4. 'arr'이라는 배열을 다음과 같이 사용하는 'calcAverage' 함수를 작성합니다.
인수. 이 함수는 주어진 모든 숫자의 평균을 계산합니다.
정렬. 이것은 어려운 도전입니다(우리는 전에 이것을 해본 적이 없습니다)! 방법은 다음과 같습니다.
그것을 해결:
4.1. 먼저 배열의 모든 값을 더해야 합니다. 덧셈을 하려면,
0에서 시작하는 변수 'sum'을 생성하여 시작합니다. 그런 다음
for 루프를 사용하는 배열. 각 반복에서 현재 값을
'합계' 변수. 이렇게 하면 루프가 끝날 때까지 모든 값을 갖게 됩니다.
함께 추가
4.2. 평균을 계산하려면 이전에 계산한 합계를
배열의 길이(요소의 수이기 때문에)
4.3. 'totals' 배열로 함수 호출

// Coding Callenge #4
const calcTip = function (bills) {
    return bills >= 50 && bills <= 300 ? bills * 0.15 :
        bills * 0.2;
}

const bills = [22, 295, 176, 440, 37, 105, 10, 1100, 86, 52];

const tips = [];
const total = [];


for (let i = 0; i < bills.length; i++) {
    const tip = calcTip(bills[i]);
    tips.push(tip);
    total.push(tip + bills[i]);
}

console.log(bills, tips, total);

const calcAverage = function (arr) {
    let sum = 0;
    for (let i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    console.log(sum);
}
calcAverage([2, 3, 6]);
calcAverage(total);
calcAverage(tips);

0개의 댓글