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

นับองค์ประกอบที่ไม่ซ้ำในอาร์เรย์โดยไม่ต้องเรียงลำดับ JavaScript


สมมติว่าเรามีอาร์เรย์ของตัวอักษรที่มีค่าที่ซ้ำกันบางส่วน -

const arr =['Cat', 'Dog', 'Cat', 'Elephant', 'Dog', 'Grapes', 'Dog', 'Lion', 'Grapes', 'Lion']; 

เราจำเป็นต้องเขียนฟังก์ชันที่คืนค่าจำนวนองค์ประกอบที่ไม่ซ้ำในอาร์เรย์ จะใช้ Array.prototype.reduce() และ Array.prototype.lastIndexOf() เพื่อทำสิ่งนี้ -

ตัวอย่าง

const arr =['Cat', 'Dog', 'Cat', 'Elephant', 'Dog', 'Grapes', 'Dog', 'Lion', 'Grapes', 'Lion'];const countUnique =arr => { return arr.reduce((acc, val, ind, array) => { if(array.lastIndexOf(val) ===ind){ return ++acc; }; return acc; }, 0);};console.log(countUnique(arr));

ผลลัพธ์

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

5