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

หาความต่างสัมบูรณ์ของอาร์เรย์ตัวเลขสองอาร์เรย์ - JavaScript

หาความต่างสัมบูรณ์ (Absolute Difference) ระหว่างสองอาร์เรย์ ตำแหน่งตรงกัน

ตัวอย่าง

[1,2,3,4,5,6] - [9,8,7,5,8,3]
= [|1-9|, |2-8|, |3-7|, |4-5|, |5-8|, |6-3|]
= [8, 6, 4, 1, 3, 3]

ตัวอย่างโค้ด

const absDifference = (arr1, arr2) => 
  arr1.map((val, i) => Math.abs((val || 0) - (arr2[i] || 0)));

console.log(absDifference([1,2,3,4,5,6], [9,8,7,5,8,3]));

ผลลัพธ์

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

จัดการความยาวไม่เท่ากัน

const absDifference = (a, b) => {
  const len = Math.max(a.length, b.length);
  return Array.from({ length: len }, (_, i) => 
    Math.abs((a[i] || 0) - (b[i] || 0))
  );
};

ใช้ || 0 จัดการ Missing Index ให้เป็น 0