Cần giúp đỡ 2 bài về mảng

Bài 1:

var a = [1, 2, 3, 4, 5];

var b = [10, 20, 30];
  • Sử dụng vòng lặp for để tính tích của các phần tử của array a với các phần tử của array b. Kết quả mong muốn:
  • 10
  • 20
  • 30
  • 20
  • 40
  • 60
  • Gợi ý: Dùng nested for loops (các vòng lặp lồng nhau)

Bài 2:

  • Viết function trả về tích các số từ start đến end, không tính end
  • Ví dụ: console.log(calculate(2, 5)) sẽ hiển thị ra màn hình 24 (vì 2 * 3 * 4 = 24)
function calculate(start, end) {
 
}

Như đề bài, dùng for để duyệt qua các phần tử thôi :slight_smile:

2 Likes

Em mới học chưa biết viết vòng lặp lồng nhau ạ

Thế thì có biết viết 1 vòng lặp chưa?

2 Likes

Theo yêu cầu, không có vòng lặp for

Bài 1

a.map(av => b.map(bv => av*bv))
  .reduce((arr, v) => arr.concat(v), [])
  .forEach(v => console.log(v))

Bài 2

function calculate(start, end) {
  if (start >= end - 1) return start
  return start * calculate(start + 1, end)
}
4 Likes

:smile: nó còn khó nuốt hơn dùng vòng for đối với bạn kia.
@Huy_Nguyen8 n vòng for thì cũng như 1 vòng for thôi. Cứ viết lồng vào nhau thôi

2 Likes

biết viết 1 vòng rồi ạ

bài tập của bài vòng for nên phải dùng vòng for ạ

1 vòng:

for(var i = 0; i < 10; i++){

}

2 vòng lồng nhau:

for(var i = 0; i < 10; i++){
   for(var j = 0, j < 10; j++){

   }
}

3 vòng lồng nhau:

for(var i = 0; i < 10; i++){
   for(var j = 0, j < 10; j++){
      for(var k = 0; k < 10;k++){

      }
   }
}

Đấy gọi là lồng nhau.

2 Likes

dạ cảm ơn anh ạ. Em làm được rồi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?