Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một mảng số nguyên arr làm đối số duy nhất. Mảng hoặc toàn số chẵn chỉ có một số lẻ, hoặc toàn số lẻ chỉ có một số chẵn. Hàm phải trả về phần tử khác biệt này.
Ví dụ, nếu đầu vào là:
Đầu vào
const arr = [5, 9, 7, 11, 34, 23, 77];
Đầu ra
const output = 34;
Giải thích
Vì mảng toàn số lẻ trừ 34 là số chẵn.
Ví dụ
Dưới đây là mã thực hiện:
const arr = [5, 9, 7, 11, 34, 23, 77];
const findDifferent = (arr = []) => {
let { length: len } = arr, i;
const evens = [];
const odds = [];
let k;
for (i = 0; i < len; i++) {
if (arr[i] % 2 == 0) {
evens.push(arr[i]);
}
if (Math.abs(arr[i] % 2) == 1) {
odds.push(arr[i]);
}
}
if (evens.length > odds.length)
return odds[0];
else
return evens[0];
};
console.log(findDifferent(arr));
Kết quả
34