使用 JavaScript 在內部交換偶數和奇數索引對


我們需要編寫一個 JavaScript 函式,該函式以第一個也是唯一的引數形式接受一個文字陣列。

我們的函式應該將每個連續的偶數索引與彼此交換,並將每個連續的奇數索引彼此交換。

該函式應該就地執行這些交換。

例如 −

如果輸入陣列為 −

const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8];

那麼陣列應該變成 −

const output = [2, 3, 0, 1, 6, 7, 4, 5, 8];

因為 0 和 2 被交換了,1 和 3 被交換了,4 和 6 被交換了,5 和 7 被交換了,最後 8 保持不變。

示例

以下是程式碼 −

const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8];
const swapPairs = (arr = []) => {
   const swap = (array, ind1, ind2) => {
      const temp = array[ind1];
      arr[ind1] = arr[ind2];
      arr[ind2] = temp;
   };
   let i = 0;
   for(; i + 3 < arr.length; i += 4){
      swap(arr, i, i + 2);
      swap(arr, i + 1, i + 3);
   };
   if (i + 2 < arr.length){
      swap(arr, i, i + 2);
   };
};
swapPairs(arr);
console.log(arr);

輸出

以下是在控制檯的輸出 −

[
   2, 3, 0, 1, 6,
   7, 4, 5, 8
]

更新日期: 22-Jan-2021

452 次瀏覽

職業嶄露頭角

透過完成課程獲得認證

開始
廣告
© . All rights reserved.