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

ลบค่าซ้ำจากอาร์เรย์ข้อมูลรูปภาพใน JavaScript


สมมติว่าเรามีข้อมูลเกี่ยวกับรูปภาพบางส่วนในอาร์เรย์ดังนี้

const arr = [{ 
  'image': "jv2bcutaxrms4i_img.png", 
  'gallery_image': true 
}, { 
  'image': "abs.png", 
  'gallery_image': true 
}, { 
  'image': "acd.png", 
  'gallery_image': false 
}, { 
  'image': "jv2bcutaxrms4i_img.png", 
  'gallery_image': true 
}, { 
  'image': "abs.png", 
  'gallery_image': true 
}, { 
  'image': "acd.png", 
  'gallery_image': false 
}];

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าว

ฟังก์ชันควรลบออบเจกต์ออกจากอาร์เรย์ที่มีค่าซ้ำสำหรับ property 'image'

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

โค้ดสำหรับการทำงานนี้จะเป็นดังนี้

const arr = [{ 
  'image': "jv2bcutaxrms4i_img.png", 
  'gallery_image': true 
}, { 
  'image': "abs.png", 
  'gallery_image': true 
}, { 
  'image': "acd.png", 
  'gallery_image': false 
}, { 
  'image': "jv2bcutaxrms4i_img.png", 
  'gallery_image': true 
}, { 
  'image': "abs.png", 
  'gallery_image': true 
}, { 
  'image': "acd.png", 
  'gallery_image': false 
}]; 
const buildUnique = (arr = []) => { 
  const unique = []; 
  arr.forEach(obj => { 
    let found = false; 
    unique.forEach(uniqueObj => { 
      if(uniqueObj.image === obj.image) { 
        found = true; 
      }; 
    }); 
    if(!found){ 
      unique.push(obj); 
    }; 
  }); 
  return unique; 
}; 
console.log(buildUnique(arr));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

[ 
  { image: 'jv2bcutaxrms4i_img.png', gallery_image: true }, 
  { image: 'abs.png', gallery_image: true }, 
  { image: 'acd.png', gallery_image: false } 
]