Computer >> Máy Tính >  >> Lập trình >> Javascript

Chỉ trả về số lẻ từ mảng trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng các số nguyên, arr, làm đối số đầu tiên và duy nhất.

Mảng bao gồm tất cả các số chẵn và chỉ một số lẻ hoặc bao gồm tất cả các số lẻ và chỉ một số chẵn. Hàm của chúng ta sẽ trả về một phần tử khác với mảng này.

Ví dụ:nếu đầu vào của hàm là -

Đầu vào

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

Đầu ra

const output = 34;

Giải thích đầu ra

Bởi vì mảng bao gồm tất cả các số lẻ nhưng 34 là số chẵn.

Ví dụ

Sau đây là mã -

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

Đầu ra

34