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

วิธีตรวจสอบว่าองค์ประกอบในอาร์เรย์ซ้ำหรือไม่ - JavaScript

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์กิวเมนต์สองอย่าง:

  • อาร์เรย์ (arr) ของค่าต่างๆ ที่อาจมีองค์ประกอบซ้ำ
  • ตัวเลข (limit)

ฟังก์ชันควรตรวจสอบว่าไม่มีองค์ประกอบใดในอาร์เรย์ที่ซ้ำเกินจำนวน limit ครั้ง หากมีองค์ประกอบซ้ำเกิน limit ให้คืนค่า false, มิฉะนั้นคืน true

ตัวอย่าง

const arr = [4, 6, 7, 4, 2, 5, 7, 7, 4, 4, 3];
const validateElements = (arr, n) => {
  const counts = arr.reduce((acc, el) => {
    acc[el] = (acc[el] + 1) || 1;
    return acc;
  }, {});
  return Object.values(counts).every(c => {
    return c < n;
  });
};
console.log(validateElements(arr, 3));
console.log(validateElements(arr, 4));
console.log(validateElements(arr, 6));

ผลลัพธ์

โค้ดนี้จะแสดงผลลัพธ์ดังต่อไปนี้บนคอนโซล:

false false true