Computer >> Máy Tính >  >> Lập trình >> Javascript

Thuật toán tự động điền mảng JavaScript với các số không trước và sau giá trị

Chúng tôi được cung cấp một mảng tháng, có các phần tử nhỏ hơn 12, trong đó mỗi phần tử sẽ nằm giữa 1 và 12 (cả hai đều bao gồm). Công việc của chúng tôi là lấy mảng này và tạo một mảng đầy tháng với 12 phần tử, nếu phần tử đó có trong mảng ban đầu, chúng tôi sử dụng phần tử đó mà người khác sử dụng tại vị trí đó.

Ví dụ -

Intput → [5, 7, 9]
Output → [0, 0, 0, 0, 5, 0, 7, 0, 9, 10, 0, 0]

Bây giờ, hãy viết mã -

Ví dụ

const months = [6, 7, 10, 12];
const completeMonths = (arr) => {
   const completed = [];
   for(let i = 1; i <= 12; i++){
      if(arr.includes(i)){
         completed.push(i);
      }else{
         completed.push(0);
      }
   };
   return completed;
};
console.log(completeMonths(months));

Chúng tôi đã lặp lại từ 1 đến 12, tiếp tục kiểm tra xem mảng ban đầu có chứa phần tử hiện tại hay không, nếu ngay sau đó chúng tôi đẩy phần tử đó sang mảng mới, nếu không, chúng tôi đẩy 0 sang mảng mới.

Đầu ra

Đầu ra trong bảng điều khiển cho đoạn mã trên sẽ là -

[
   0, 0, 0, 0, 0,
   6, 7, 0, 0, 10,
   0, 12
]