将奇数偶数索引与JavaScript中的值匹配

我们需要编写一个包含数字数组的JavaScript函数。作为函数输入的给定数组具有两个特殊属性-

  • 数组的长度将始终为偶数。

  • 数组中的偶数和奇数始终是相等的(即,都等于数组长度的一半)

该函数应重新排列数组的元素,以使所有偶数均占据偶数索引,而所有奇数均占据奇数索引。

请注意,针对此问题可能有不止一种正确的解决方案,我们需要找到其中一种。

示例

以下是代码-

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));

输出结果

以下是控制台输出-

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

以上是 将奇数偶数索引与JavaScript中的值匹配 的全部内容, 来源链接: utcz.com/z/315849.html

回到顶部