Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

กำหนดอาร์เรย์ของจำนวนเต็มจะคืนค่าเป็นค่าบวก ซึ่งมีค่าลบที่เทียบเท่าอยู่ใน JavaScript


เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของ Numbers (ทั้งค่าบวกและค่าลบ)

ฟังก์ชันควรส่งคืนอาร์เรย์ของจำนวนบวกทั้งหมดจากอาร์เรย์ที่มีค่าลบในอาร์เรย์

ตัวอย่างเช่น หากอาร์เรย์อินพุตเป็น −

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

จากนั้นผลลัพธ์ควรเป็น −

const output = [5, 3];

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

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

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

[5, 3]