在 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 ]
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP