在 JavaScript 中只从数组中返回奇数

问题

我们需要编写一个 JavaScript 函数,它接受一个整数数组 arr 作为第一个也是唯一的参数。

该数组要么由所有偶数和一个奇数组成,要么由所有奇数和一个偶数组成。我们的函数应该从数组中返回这个不同的元素。

例如,如果函数的输入是 -

输入

const arr = [5, 9, 7, 11, 34, 23, 77];

输出

const output = 34;

输出说明

因为数组由所有奇数组成,但 34 是偶数。

示例

以下是代码 -

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.len > odds.len)
      return odds[0];
   else
      return evens[0];
};
console.log(findDifferent(arr));
输出结果
34