Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Trả về số dương có đối số âm tương ứng trong mảng JavaScript


Chúng ta cần viết một hàm JavaScript nhận vào một mảng các số (cả dương và âm). Hàm nên trả về mảng tất cả các số dương từ mảng mà đối số âm của chúng có mặt trong mảng.

Ví dụ: Nếu mảng đầu vào là:

const arr = [1, 5, -3, -5, 3, 2];

Thì đầu ra sẽ là:

const output = [5, 3];

Ví dụ

Code cho việc này sẽ là:

const arr = [1, 5, -3, -5, 3, 2]; 
const findNumbers = (arr = []) => { 
  const count = Object.create(null); 
  const result = []; 
  arr.forEach(el => { 
    if (count[-el]) { 
      result.push(Math.abs(el)); 
      count[-el]--; 
      return; 
    } 
    count[el] = (count[el] || 0) + 1; 
  }); 
  return result; 
}; 
console.log(findNumbers(arr));

Kết quả

Kết quả hiển thị trong console sẽ là:

[5, 3]