Xin chào các bạn đang cố gắng tạo một hàm trong javascript trả về một mảng từ phạm vi (bắt đầu, kết thúc) và im phải tạo một đối số tùy chọn mặc định khi nó không được xác định. Tôi có thể nhận được các chức năng để làm việc khi tôi cung cấp tất cả các đối số nhưng trả về một mảng trống khi tôi chỉ vượt qua hai đối số. Đây là câu hỏi:tạo một hàm phạm vi trong javascript
Viết một hàm có hai đối số, bắt đầu và kết thúc và trả về một mảng chứa tất cả các số từ đầu đến cuối (và bao gồm).
Tiếp theo, viết hàm tổng có một dãy số và trả về tổng các số này. Chạy chương trình trước đó và xem liệu nó có thực sự trả lại 55.
Làm nhiệm vụ thưởng, sửa đổi hàm phạm vi của bạn để lấy một đối số thứ ba tùy chọn cho biết giá trị "bước" được sử dụng để tạo mảng. Nếu không có bước nào được đưa ra, các phần tử mảng tăng lên theo số gia của một, tương ứng với hành vi cũ. Phạm vi cuộc gọi hàm (1, 10, 2) phải trả về [1, 3, 5, 7, 9]. Hãy chắc chắn rằng nó cũng làm việc với các giá trị bước âm để phạm vi (5, 2, -1) tạo ra [5, 4, 3, 2].
và đây là mã của tôi
function range(start, end, increment){
var array = [];
var current = start;
var counter;
if (increment == undefined){
counter = 1;
}
else {
counter = increment;
}
if (increment > 0){
while(current <= end){
array.push(current);
current += counter;
}
}
else if (increment < 0){
while(current >= end){
array.push(current);
current += counter;
}
}
return array;
}
ai đó có thể giải thích lý do tại sao phá vỡ nó? tôi biết một số C# và im sử dụng để có thể nhảy vào gỡ lỗi trong visual studio khi họ gặp khó khăn không giống như javascript
JS cũng có rất nhiều trình gỡ lỗi. Một trong Chrome có lẽ là tốt nhất. Mở nó ra bạn sẽ có thể bước qua mã. –
Thành ngữ JS chung cho * nếu không xác định, thay vào đó là * là: 'var counter = increment || 1; ' – 4castle
@ 4castle bạn có thể giải thích thêm? không thực sự chắc chắn cách thức hoạt động. nó sẽ là tốt hơn để sử dụng toán tử '?'? – Nate