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

จะตรวจสอบได้อย่างไรว่าองค์ประกอบในอาร์เรย์ซ้ำกัน? - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่มีสองอาร์กิวเมนต์ -

  • อาร์เรย์ เช่น arr ของตัวอักษรที่อาจมีองค์ประกอบที่ซ้ำกัน
  • จำนวน พูดจำกัด

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

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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