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

Đối sánh các chỉ số chẵn lẻ với các giá trị trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng số. Mảng được coi là đầu vào cho hàm có hai thuộc tính đặc biệt -

  • Độ dài của mảng sẽ luôn là một số chẵn.

  • Số lượng các số chẵn và số lượng các số lẻ trong mảng sẽ luôn bằng nhau (tức là cả hai đều bằng một nửa độ dài của mảng)

Hàm phải xáo trộn các phần tử của mảng sao cho tất cả các giá trị chẵn chiếm các chỉ số chẵn và tất cả các giá trị lẻ chiếm các chỉ số lẻ.

Lưu ý rằng có thể có nhiều hơn một giải pháp đúng cho vấn đề này, chúng tôi buộc phải tìm ra bất kỳ giải pháp nào trong số đó.

Ví dụ

Sau đây là mã -

const arr = [1, 2, 3, 4, 5, 6];
const arrangeToIndices = (arr = []) => {
   let [even, odd] = [0, 1];
   while (even < arr.length && odd < arr.length) {
      if (arr[even] % 2 === 1 && arr[odd] % 2 === 0) {
         [arr[even], arr[odd]] = [arr[odd], arr[even]];
         [even, odd] = [even + 2, odd + 2];
      } else {
         if (0 === arr[even] % 2){
            even += 2;
         };
         if (1 === arr[odd] % 2){
            odd += 2
         };
      };
   };
   return arr;
};
console.log(arrangeToIndices(arr));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

[ 2, 1, 4, 3, 6, 5 ]