Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ลบสมาชิกของสองอาร์เรย์และเก็บผลลัพธ์เป็นค่าบวก - JavaScript

สมมติว่าเรามีอาร์เรย์สองตัวดังนี้:

const arr1 = [1,2,3,4,5,6];
const arr2 = [9,8,7,5,8,3];

เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ทั้งสองและคืนค่าอาร์เรย์ของความต่างสัมบูรณ์ (absolute difference) ระหว่างสมาชิกที่ตรงตำแหน่งกัน

ดังนั้น สำหรับอาร์เรย์เหล่านี้ ผลลัพธ์ควรเป็น:

const output = [8,6,4,1,3,3];

เราจะใช้ลูป for และ push ความต่างสัมบูรณ์ทีละตัวเข้าไปในอาร์เรย์ใหม่ แล้วคืนค่าอาร์เรย์นั้น

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const arr1 = [1,2,3,4,5,6];
const arr2 = [9,8,7,5,8,3];

const absDifference = (arr1, arr2) => {
  const res = [];
  for(let i = 0; i < arr1.length; i++){
    const el = Math.abs((arr1[i] || 0) - (arr2[i] || 0));
    res[i] = el;
  };
  return res;
};

console.log(absDifference(arr1, arr2));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

[ 8, 6, 4, 1, 3, 3 ]