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

เปรียบเทียบสองอาร์เรย์และรับค่าที่ไม่ตรงกับ JavaScript


เรามีอาร์เรย์ของตัวอักษรสองชุดที่มีค่าร่วมกันบางส่วน งานของเราคือการเขียนฟังก์ชันที่ส่งคืนอาร์เรย์ที่มีองค์ประกอบทั้งหมดจากอาร์เรย์ทั้งสองที่ไม่เหมือนกัน

ตัวอย่างเช่น −

// if the two arrays are:
const first = ['cat', 'dog', 'mouse'];
const second = ['zebra', 'tiger', 'dog', 'mouse'];
// then the output should be:
const output = ['cat', 'zebra', 'tiger']
// because these three are the only elements that are not common to both
arrays

มาเขียนโค้ดสำหรับสิ่งนี้กัน −

เราจะกระจายสองอาร์เรย์และกรองอาร์เรย์ที่ได้รับเพื่อให้ได้อาร์เรย์ที่มีองค์ประกอบที่ไม่ธรรมดาเช่นนี้ -

ตัวอย่าง

const first = ['cat', 'dog', 'mouse'];
const second = ['zebra', 'tiger', 'dog', 'mouse'];
const removeCommon = (first, second) => {
   const spreaded = [...first, ...second];
   return spreaded.filter(el => {
      return !(first.includes(el) && second.includes(el));
   })
};
console.log(removeCommon(first, second));

ผลลัพธ์

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

[ 'cat', 'zebra', 'tiger' ]