在 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